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

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

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

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

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

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

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

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

  1. почему вы выделили целый массив под сумму элементов строки массива почему, можно же обычную переменную?

  2. #include
    #include
    using namespace std;

    int main (){
    srand(time(NULL));
    const int COL = 7;
    const int ROW = 5;
    int arr[ROW][COL];
    for (int i = 0; i < ROW; i++){
    for (int k = 0; k < COL; k++){
    arr[i][k] = rand() % 100;
    cout << arr[i][k] << '\t';
    }
    cout << endl;
    }
    return 0;
    }

  3. #include
    #include
    using namespace std;

    int main (){
    srand(time(NULL));
    const int COL = 7;
    const int ROW = 5;
    int arr[ROW][COL];
    for (int i = 0; i < ROW; i++){
    for (int k = 0; k < COL; k++){
    arr[i][k] = 10 +rand() % 91;
    cout << arr[i][k] << '\t';
    }
    cout << endl;
    }
    int Sum;
    int arrSum[] ={};
    for (int i = 0; i < ROW; i++){
    Sum = 0;
    for (int k = 0; k < COL; k++)
    Sum += arr[i][k];
    arrSum[i] = Sum;
    cout <<"line" << i+1 <<'\t'<<Sum << endl;}
    // max sum value all line
    int max = arrSum[0];
    for (int j = 1; j max)
    max =arrSum[j];
    }
    cout << " max sum value all line: " << max;
    return 0;
    }

  4. решение 3-й задачи
    #include
    using namespace std;
    int main()
    {
    srand(time(NULL));
    int mas[5][5];
    int su[5] = {0,0,0,0,0};
    int ch, G, V;
    /* с помощью G находим мах сумму
    сh счетчик строки
    V используем для поиска строки где самвя большая сумма */
    ch = 0;
    G = su[0];

    for (int x = 0; x < 5; x++) {
    for (int y = 0; y < 5; y++) {
    mas[x][y] = 10 + rand() % 100;
    }
    }
    for (int x = 0; x < 5; x++) {
    for (int y = 0; y < 5; y++) {
    cout << mas[x][y]<<"…";
    }
    cout <<" "<< endl;
    }
    for (int x = 0; x < 5; x++) {
    for (int y = 0; y < 5; y++) {
    su[x] = su[x] + mas[x][y];
    }
    cout << "summa stroki |" << x + 1 << "| = " << su[x] << endl;
    }
    for (int x = 0; x < 5; x++) {
    if (G <= su[x]) {
    G = su[x];

    }

    }
    for (int x = 0; x < 5; x++) {
    V = su[x];
    ch++;
    if (V == G) {
    break;
    }
    }
    cout << "max stroka |" << ch << "|= " << G;
    return 0;
    }

  5. #include
    #include

    using namespace std;

    int main()
    {
    setlocale(LC_ALL, “RU”);
    srand(time(NULL));

    const int COL = 3;
    const int ROW = 3;

    int arr[COL][ROW];

    //Заполнение
    for (int i = 0; i < COL; i++)
    {
    for (int j = 0; j < ROW; j++)
    {
    arr[i][j] = 10 + rand() % 91;
    }
    }
    //Вывод
    for (int i = 0; i < COL; i++)
    {
    for (int j = 0; j < ROW; j++)
    {
    cout << arr[i][j] << " | ";
    }
    cout << endl;
    }

    cout << endl;
    int sum[3] = {0,0,0};
    int summa = 0;
    int temp = 0;
    //Подсчет
    for (int i = 0; i <ROW; i++)
    {
    summa =0 ;
    for (int j = 0; j < COL; j++)
    {
    summa += arr[j][i];

    }

    cout << "строчка " << i + 1 << " = "
    << summa<<endl;

    }
    int i = 0;
    for ( i = 0; i < ROW; i++)
    {
    sum[i];
    for (int j = 0; j sum[1] and sum[0] > sum[2])
    {
    temp = sum[0];
    }
    if (sum[1] > sum[0] and sum[1] > sum[2])
    {
    temp = sum[1];
    }
    if (sum[2] > sum[0] and sum[2] > sum[1])
    {
    temp = sum[2];
    }

    }

    cout << " max " << "summa " << temp;

    return 0;

    }

    знаю код говно получилось как то так буду улучать свои знания

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

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