Основи програмування на С ++ для початківців

Завдання: Двумерные массивы C

Чтобы приступить к решению задач, предложенных в этой статье, вам необхідно знати что такое двумерные (многомерные) массивы . Задачи расположены от простой к сложной. Так что, если вы новичок в программировании, начинайте с первой, чтобы лучше разобраться с остальными.

1. Объявить двумерный массив, заповнити цілими числами і показати на екран.

2) Объявить двумерный массив и заполнить его построчно с клавиатуры. После заполнения – показать заполненную матрицу на экран и посчитать сумму элементов отдельно в каждом столбце и каждой строке.

3) Заповнити двовимірний масив випадковими числами від 10  до 100. Порахувати суму елементів окремо в кожному рядку і визначити номер рядка,  в якій ця сума максимальна.

Ваші запитання, которые возникли при решении задач, залишайте в коментарях до цієї статті.

118 думки про "Завдання: Двумерные массивы C

  1. #include
    using namespace std;

    int main()
    {
    Const ІНТ ROW = 3;
    Const INT COL = 3;
    setlocale(LC_ALL, “RU”);
    int arr[ROW][COL];
    cout << "Заполните двумерный массив случайными числами" << endl;
    for (int i = 0; i < ROW; i ) {
    for (int j = 0; j > arr[i][j];
    }
    }
    int sumROW = 0, sumCOL = 0;
    cout << endl;
    for (int i = 0; i < ROW; i ) {
    for (int j = 0; j < COL; j ) {
    cout << arr[i][j]<< "\t";
    }
    cout<<endl;
    }
    for (int i = 0; i < ROW; i ) {
    for (int j = 0; j < COL; j ) {
    sumROW = sumROW + arr[i][j];
    }
    cout << "Сумма элементов в строке : " << i + 1 << " " << sumROW;
    sumROW = 0;
    cout << endl;
    }
    for (int i = 0; i < ROW; i ) {
    for (int j = 0; j < COL; j ) {
    sumCOL = sumCOL + arr[j][i];
    }
    cout << "Сумма элементов в столбце : " << i + 1 << " " << sumCOL ;
    sumCOL = 0;
    cout << endl;
    }
    }

  2. #include
    #include

    using namespace std;

    int main()
    {
    srand(time(NULL));
    Const ІНТ ROW = 10;
    Const INT COL = 10;
    int sumROW = 0;
    int sumROWMax = 0;
    int числоROW = 1;

    setlocale(LC_ALL, “RU”);
    int arr[ROW][COL];
    for (int i = 0; i < ROW; i ) {
    for (int j = 0; j < COL; j ) {
    arr[i][j] = rand() % 100 + 10;
    }
    }
    for (int i = 0; i < ROW; i ) {
    for (int j = 0; j < COL; j ) {
    cout << arr[i][j] << "\t";
    }
    cout << endl;
    }
    for (int i = 0; i < ROW; i )
    {
    for (int j = 0; j < COL; j )
    {
    sumROW = sumROW + arr[i][j];
    }
    cout << "Сумма элементов в строке : " << i + 1 << " " << sumROW << endl;
    sumROW = 0;
    }
    cout << endl;

    for (int i = 0; i < ROW; i )
    {
    for (int j = 0; j сумаROWMax)
    {
    sumROWMax = sumROW;
    numberROW = i;
    }
    sumROW = 0;
    }
    cout << "Максимальная сумма элементов в строке "<< numberROW + 1 << ". сума рядка : " << sumROWMax << endl;

    }

  3. А можна ще 3-4 завдання по цій темі? Автору RESPECT за такий навчальний матеріал, дуже дохідливо і просто викладені теми

  4. #include
    #визначте НАЛАШТУВАННЯ
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “RU”);
    int ROWS, COLS;
    cout <> ЛАВ;
    cout <> COLS;
    int ** a = новий int*[ЛАВ];
    for (int i = 0; i < ЛАВ; i )
    a[i] = new int[COLS];

    for (int i = 0; i < ЛАВ; i ) // введення елементів матриці
    for (int j = 0; j < COLS; j )
    a[i][j] = rand() % 101 + 10;
    cout<< endl;
    #ifdef НАЛАШТУВАННЯ
    for (int i = 0; i < ЛАВ; i )
    {
    for (int j = 0; j < COLS; j )
    cout << a[i][j] << " ";
    cout << endl;
    } //висновок матриці
    #endif
    int* sum_in_row = новий int[ЛАВ]; // ініціалізація масиву
    for (int i = 0; i < ЛАВ; i )
    sum_in_row[i] = 0;
    for (int i = 0; i < ЛАВ; i ) // підрахунок сум елементів рядків
    {
    int sum = 0;
    for (int j = 0; j < COLS; j )
    sum_in_row[i] += а[i][j];
    }

    for (int i = 0; i < ЛАВ; i )
    cout << "сумма строки " << i + 1 << "=" << sum_in_row[i] << endl; // висновок сум рядків

    int num_max_sum = 0;
    int max_sum = 0;
    int h = 0;
    for (int i = 0; я max_sum ? max_sum = sum_in_row[i], num_max_sum = i:h ++;

    cout << "номер строки с наибольшей суммой: " << num_max_sum+1;

    for (int i = 0; i < ЛАВ; i ) // очищення пам'яті
    delete [] a[i];
    delete [] a;
    delete[] sum_in_row;
    }

  5. #include
    using namespace std;
    #include
    #include “mainCu.h”
    int main()
    {
    setlocale(LC_ALL, “rus”);
    srand(time(NULL));
    ІНТ рядок;
    cin >> рядок;
    INT кол;
    cin >> сідло;
    int** arr = новий int* [рядок];
    int* row_arr_sum = новий int[рядок];
    int* col_arr_sum = новий int[сідло];
    int row_sum = 0, Col_sum = 0;
    for (короткий i = 0; i < рядок; i )
    row_arr_sum[i] = 0;
    for (короткий i = 0; i < рядок; i )
    col_arr_sum[i] = 0;
    for (короткий i = 0; i < рядок; i ) {
    arr[i] = new int[рядок];
    for (короткий j = 0; j < сідло; j )
    arr[i][j] = rand() % 10;
    }
    for (короткий i = 0; i < рядок; i ) {
    for (короткий j = 0; j < сідло; j )
    cout <<"|"<< arr[i][j] << "|";
    cout << endl;
    }cout << endl;
    for (короткий i = 0; i < рядок; i ) {
    for (короткий j = 0; j < сідло; j ) {
    row_arr_sum[i] += arr[i][j];
    col_arr_sum[i] += arr[i][j];
    }
    }
    cout << "сумма по строкам: " << endl;
    for (короткий i = 0; i < рядок; i ) {
    row_sum += row_arr_sum[i];
    cout << "строка(" << + 1 << "):"<< row_arr_sum[i]<<endl;
    } cout << "сумма по столбцам: " << endl;
    for (короткий i = 0; i < рядок; i ){
    col_sum += row_arr_sum[i];
    cout << "столбец(" << i + 1 << "):" << col_arr_sum[i] <<endl;}
    cout << endl << co_sum << endl << сума_рядка << endl;

    }

    1. //на жаль там припустився пару помилок. тут виправлено

      #include
      using namespace std;
      #include
      #include “mainCu.h”
      int main()
      {
      setlocale(LC_ALL, “rus”);
      srand(time(NULL));
      ІНТ рядок;
      cin >> рядок;
      INT кол;
      cin >> сідло;
      int** arr = новий int* [рядок];
      int* row_arr_sum = новий int[рядок];
      int* col_arr_sum = новий int[сідло];

      for (короткий i = 0; i < рядок; i )
      row_arr_sum[i] = 0;
      for (короткий i = 0; i < рядок; i )
      col_arr_sum[i] = 0;
      for (короткий i = 0; i < рядок; i ) {
      arr[i] = new int[рядок];
      for (короткий j = 0; j < сідло; j )
      arr[i][j] = rand() % 10;
      }
      for (короткий i = 0; i < рядок; i ) {
      for (короткий j = 0; j < сідло; j )
      cout <<"|"<< arr[i][j] << "|";
      cout << endl;
      }cout << endl;
      for (короткий i = 0; i < рядок; i ) {
      for (короткий j = 0; j < сідло; j ){
      row_arr_sum[i] += arr[i][j];
      col_arr_sum[i] += arr[j][i];
      }
      }
      cout << "сумма по строкам: " << endl;
      for (короткий i = 0; i < рядок; i ) {
      cout << "строка(" << + 1 << "):"<< row_arr_sum[i]<<endl;
      } cout << "сумма по столбцам: " << endl;
      for (короткий i = 0; i < рядок; i ){
      cout << "столбец(" << i + 1 << "):" << col_arr_sum[i] <<endl;}
      int max_count = 0;
      int min_count =0;
      int max_row_sum = row_arr_sum[0], min_row_sum = row_arr_sum[0];
      for (короткий i= 0; i <рядок; i )
      {

      if (max_row_sum row_arr_sum[i]) {

      min_row_sum = row_arr_sum[i];
      min_count = i;
      }
      }
      cout << "максимальная сумма в строке №" << max_count + 1 << " = " << max_row_sum << endl
      << "Минимальная сумма в строке №" << min_count + 1 << " = " << min_row_sum << endl;

      }

  6. #include
    #include

    using namespace std;

    int main()
    {
    srand(time(NULL));

    константні ІНТ ЛАВ = 10;
    Const INT COLS = 10;
    int arr[ЛАВ][COLS]{};

    for (int i = 0; i < ЛАВ; i )//Заповнення масиву arr[][]
    {
    for (int j = 0; j < COLS; j )
    {
    arr[i][j] = rand() % 90 + 10;
    }
    }

    int arr_sum[ЛАВ]{};//Створюємо масив у якому зберігатимемо суму //елементів кожного рядка масиву arr[][]
    for (int i = 0; i < ЛАВ; i )
    {
    for (int j = 0; j < COLS; j )
    {
    arr_sum[i] = arr_sum[i] + arr[i][j];//Привласнюємо в i елемент масиву // arr_sum[] суму всіх елементів у i рядку масиву arr[][] (і так далі )
    }
    }

    int max_index = 0;//змінна в якій зберігається індекс //максимального елемента масиву max_sum[]
    for (int i = 1; i < ЛАВ; i )
    {
    if (arr_sum[max_index] < arr_sum[i])
    {
    max_index = i;
    }
    }

    /*Оскільки розмір масиву arr_sum[] дорівнює кількості рядків
    * масиву arr[][] то індекс максимального елемента масиву arr_sum[]
    * відповідає індексу рядка масиву arr[][] з найбільшою сумою елементів
    */

    cout << "Index max row – " << max_index;

    return 0;
    }

  7. Чому можна замінити

    columnSum[rowNum] += ourMatrix[columnNum][rowNum];

    на

    columnSum[columnNum] += ourMatrix[rowNum][columnNum];

    і результат буде тим самим?

  8. таблиця множення

    #include

    int main()
    {
    INT I = 0, J = 0;
    короткий mas2d[10][10] = {};
    //заповнення масиву
    for (i = 0; i < 10; i ) {
    for (J = 0; j < 10; j ) {
    mas2d[i][j] = i * j;
    }

    }

    //виведення масиву на екран

    for (i = 0; i <10; i )
    {
    std::cout << std::endl ;
    {
    for (J = 0; j <10; j )
    std::cout << mas2d[i][j] << "\t";

    }
    }
    }

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *