Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / C++ Новый топик    Ответить
 c++ builder help  [new]
ru_pustovaya
Member

Откуда:
Сообщений: 2
Задані два масиви A (5,5), B (5,5). Сформувати новий масив С (5,5), елементами
якого є суми відповідних елементів вихідних масивів.
Заданные два массива A (5,5), B (5,5). Сформировать новый массив С (5,5), элементами
которого являются суммы соответствующих элементов исходных массивов.
5 апр 21, 10:32    [22304235]     Ответить | Цитировать Сообщить модератору
 Re: c++ builder help  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52921

И в чём проблема?

Posted via ActualForum NNTP Server 1.5

5 апр 21, 12:44    [22304357]     Ответить | Цитировать Сообщить модератору
 Re: c++ builder help  [new]
ru_pustovaya
Member

Откуда:
Сообщений: 2
два массива удалось заполнить, не знаю как заполнить новый массив, заполняется одним числом либо совсем не заполняется. я новичок, по этому не знаю даже как правильно начать
void __fastcall TForm1::btGenClick(TObject *Sender)
{
   //-- Генерация случайных чисел и заполнение  массива  А
        int Max2,Min2;
        Max2 = StrToInt(edMax->Text);
        Min2 = StrToInt(edMin->Text);
        srand(unsigned(time(NULL)));
        for(int j=0; j<5; j++)
         for(int i=0; i<5; i++)
            {
             try
                { sgT1->Cells[j][i] = IntToStr(rand()%Max2 + Min2);
                }
             catch(...)
                { sprintf(s,"В ячейке [%d][%d] - не число", i, j);
                  ShowMessage(s);
                }
            }
}
//---------------------------------------------------------------------------


void __fastcall TForm1::btGoClick(TObject *Sender)
{
//-- Генерация случайных чисел и заполнение  массива В
        int Max1,Min1;
        Max1 = StrToInt(edMax1->Text);
        Min1 = StrToInt(edMin1->Text);
        srand(unsigned(time(NULL)));
        for(int g=0; g<5; g++)
         for(int m=0; m<5; m++)
            {
             try
                { sgT2->Cells[g][m] = IntToStr(rand()%Max1 + Min1);
                }
             catch(...)
                { sprintf(s,"В ячейке [%d][%d] - не число", g, m);
                  ShowMessage(s);
                }
            }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  //Вычисление третьего массива С

        int i,j,m,g,e,r;

         for(int e=0; e<5; e++)
         for(int r=0; r<5; r++)
         {
      
       SG3->Cells[e][r] = StrToFloat(sgT2->Cells[g][m]) + StrToFloat(sgT1->Cells[j][i]);
            
}                 }   




//---------------------------------------------------------------------------
5 апр 21, 14:46    [22304494]     Ответить | Цитировать Сообщить модератору
 Re: c++ builder help  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52921

ru_pustovaya
я новичок, по этому не знаю даже как правильно начать

Чтение учебников - всегда правильное начало. Они для этого и пишутся.

Posted via ActualForum NNTP Server 1.5

5 апр 21, 14:54    [22304503]     Ответить | Цитировать Сообщить модератору
 Re: c++ builder help  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 3722
ru_pustovaya,

зачем Формы если это консольная задача? Try Catch... Button Футтон Ди Крайде Ундер Лапен Лиген Да...

"задан массив" - значит задан, ничего вводить и проверять не надо
+ почти копипаст с ресурса "Скажи мне Гугл!"
#include <iostream>

using namespace std;

int main()
{
    setlocale(LC_ALL,"rus");

    cout << "Summa arrays A + B = Array C" << endl;

    const int size=5;
/* массивы A и B ЗАДАНЫ */
    int A[size][size] = { {1,2,3,4,5}, {1,2,3,4,5}, {1,2,3,4,5}, {1,2,3,4,5}, {1,2,3,4,5} };
    int B[size][size] = { {5,4,3,2,1}, {5,4,3,2,1}, {5,4,3,2,1} ,{5,4,3,2,1}, {5,4,3,2,1} };
    int C[size][size];

/* "распечатаем" arrays A */
    cout << "--- arrays A ---" << endl;
    for (int i=0; i<size; i++)
    {
        for (int j=0; j<size; j++)
        {
            cout <<A[i][j] << "\t";
        }
        cout << endl;
    }
/* "распечатаем" array B */
   cout << "--- arrays B ---" << endl;
    for (int i=0; i<size; i++)
    {
        for (int j=0; j<size; j++)
        {
            cout << B[i][j] << "\t";
        }
        cout<<endl;
    }
/* Получаем array C */
    cout << "Сумма arrays A+B=C" << endl;
    for (int i=0; i<size; i++)
    {
        for (int j=0; j<size; j++)
        {
            C[i][j] = A[i][j] + B[i][j];
            cout << C[i][j]<< "\t";
        }
        cout << endl;
    }

    return 0;
}



Если лень читать учебник - смотрите какой нить Ютуб канал типа Simple Code
5 апр 21, 15:23    [22304538]     Ответить | Цитировать Сообщить модератору
 Re: c++ builder help  [new]
mayton
Member

Откуда: loopback
Сообщений: 51017
Если матрицу представлять не многомерным массивом а отображением в одномерный то и цикл упрощается.

Все равно надо каждый член сложить с каждым.
5 апр 21, 16:35    [22304632]     Ответить | Цитировать Сообщить модератору
Все форумы / C++ Ответить