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

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

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

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

3) Заполнить двумерный массив случайными числами от 10 до 100. Посчитать сумму элементов отдельно в каждой строке и определить номер строки, в которой эта сумма максимальна.

Отвечу на любые ваши вопросы, которые возникли при решении задач, в комментариях к этой статье.

Чтобы поддержать наш сайт – нажмите на копилку и выберите любой удобный для Вас способ.

Рассылка новых уроков по программированию:

Задачи: Двумерные массивы C++
4.6 (92%) 10 votes

Задачи: Двумерные массивы C++: 65 комментариев

  1. В метании молота состязается n спортcменов. Каждый из них сделал m бросков. Победителем соревнований объявляется тот спортсмен, у которого максимален наилучший результат по всем броскам. Таким образом, программа должна найти значение максимального элемента в данном массиве, а также его индексы (то есть номер спортсмена и номер попытки).
    Входные данные
    Программа получает на вход два числа n и m, являющиеся числом строк и столбцов в массиве. Далее во входном потоке идет n строк по m чисел, являющихся элементами массива.

    Выходные данные
    Программа выводит значение максимального элемента, затем номер строки и номер столбца, в котором он встречается. Если в массиве несколько максимальных элементов, то нужно вывести минимальный номер строки, в которой встречается такой элемент, а если в этой строке таких элементов несколько, то нужно вывести минимальный номер столбца. Не забудьте, что все строки и столбцы нумеруются с 0.

    Примеры
    входные данные
    3 3
    3 1 2
    1 3 4
    3 3 3
    выходные данные
    4
    1 2

    1. И на что вы рассчитываете?
      Что кто-то станет решать за вас ваши домашние задания пока вы будете широко гулять?

      Так за такое удовольствие деньги платят!

    2. #include “stdafx.h”
      #include
      #include
      #include
      #include // setw(отступ)

      using namespace std;

      int main() {

      setlocale(0, “”);
      srand(time(NULL));

      const int ROWSIZE = 3;
      const int COLSIZE = 3;

      int arr[ROWSIZE][COLSIZE] = {};
      // заполнение массива с клавиатуры
      /*
      for (int rowNum = 0; rowNum < ROWSIZE; rowNum++) {
      for (int colNum = 0; colNum < COLSIZE; colNum++) {
      cout << "Пожалуйста, введите исходные значения массива: ";
      cout << rowNum + 1 << "-я строка ";
      cout << colNum + 1 <> arr[rowNum][colNum];

      }
      }
      */
      // Заполняем массив случайными числами
      for (int rowNum = 0; rowNum < ROWSIZE; rowNum++) {
      cout << "Строка " << rowNum + 1 << ": ";
      for (int colNum = 0; colNum < COLSIZE; colNum++) {
      arr[rowNum][colNum] = 1 + rand() % 9;
      cout << setw(2) << arr[rowNum][colNum];
      }
      cout << endl;
      }
      // Находим максимальное число, а если их несколько то находим самую первую строку и столбец, где оно встречается
      int row[ROWSIZE]{};
      int col[COLSIZE]{};
      int temp = 0;
      int temp1 = 0;

      for (int r = 0; r < ROWSIZE; r++) {
      for (int c = 0; c < COLSIZE; c++) {
      if (col[0] < arr[c][r]) {
      col[0] = arr[c][r];
      temp = r;
      temp1 = c;
      }
      else c;
      }

      }
      cout << "Максимальное: " << col[0] << " COL: " << temp1 + 1 << " ROW: " << temp + 1 << endl;

      system("pause");
      return 0;
      };

  2. ОБЪяСНИТЕ ПОЖАЛУЙСТА!!! почему сумма в столбцах выводится не правильно??

    #include
    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “rus”);
    srand(time(NULL));
    const int RowCount = 10;
    int array[RowCount][RowCount] = {};
    int SumRow[RowCount] = {}, SumColumn[RowCount] = {};

    for (int i = 0; i < RowCount; i++) {

    for (int j = 0; j < RowCount; j++) {
    array[i][j] = i*j;
    cout << setw(4) << array[i][j] << " ";
    SumRow[i] += array[i][j];
    SumColumn[i] += array[j][i];

    }
    cout << endl;
    }
    for (int i = 0; i < 10; i++) {
    cout << "Сумма в " << i + 1 << " строке = " << SumRow[i] << " ";
    cout << "Сумма в " << i + 1 << " столбце = " << SumColumn[i] << endl;
    }

    system("pause");
    return 0;
    }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *