Основы программирования на С++ для начинающих

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

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

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

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

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

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

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

  1. #include
    using namespace std;

    int main()
    {
    const int 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 int ROW = 10;
    const int COL = 10;
    int sumROW = 0;
    int sumROWMax = 0;
    int numberROW = 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 sumROWMax)
    {
    sumROWMax = sumROW;
    numberROW = i;
    }
    sumROW = 0;
    }
    cout << "Максимальная сумма элементов в строке "<< numberROW + 1 << ". сумма строки : " << sumROWMax << endl;

    }

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

  4. #include
    #define DEBUG
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “ru”);
    int ROWS, COLS;
    cout <> ROWS;
    cout <> COLS;
    int** a = new int*[ROWS];
    for (int i = 0; i < ROWS; i++)
    a[i] = new int[COLS];

    for (int i = 0; i < ROWS; i++) // ввод элементов матрицы
    for (int j = 0; j < COLS; j++)
    a[i][j] = rand() % 101 + 10;
    cout<< endl;
    #ifdef DEBUG
    for (int i = 0; i < ROWS; i++)
    {
    for (int j = 0; j < COLS; j++)
    cout << a[i][j] << " ";
    cout << endl;
    } //вывод матрицы
    #endif
    int* sum_in_row = new int[ROWS]; // инициализация массива
    for (int i = 0; i < ROWS; i++)
    sum_in_row[i] = 0;
    for (int i = 0; i < ROWS; i++) // подсчет сумм элементов строк
    {
    int sum = 0;
    for (int j = 0; j < COLS; j++)
    sum_in_row[i] += a[i][j];
    }

    for (int i = 0; i < ROWS; 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; i max_sum ? max_sum = sum_in_row[i], num_max_sum = i:h++;

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

    for (int i = 0; i < ROWS; i++) // очистка памяти
    delete [] a[i];
    delete [] a;
    delete[] sum_in_row;
    }

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

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