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

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

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

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

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

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

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

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

  1. 3 задача

    #include
    #include
    #include
    using namespace std;

    int main()
    {
    setlocale(0, “”);

    const int rows = 5;
    const int cols = 10;
    int arr[rows][cols] = {};
    int arr_rows[rows] = {};
    int max = 0;
    int number_row = 0;

    srand(time(NULL));

    for (int i = 0; i < rows; i++)
    {
    for (int j = 0; j < cols; j++)
    {
    arr[i][j] = 10 + rand() % 91;
    arr_rows[i] += arr[i][j];
    }
    }
    //вывод матрицы
    for (int i = 0; i < rows; i++)
    {
    cout << endl;
    for (int j = 0; j < cols; j++)
    {
    cout << setw(4) << arr[i][j];
    }
    }
    //вывод массива с суммами строк и нахождение максимума
    for (int i = 0; i < rows; i++)
    {
    cout << "\nСумма " << i+1 << "-й строки = " << arr_rows[i] < max)
    {
    max = arr_rows[i];
    number_row = i;
    }
    }
    cout << "\nМаксимальная сумма элементов в строке номер " << number_row+1 << endl;
    return 0;
    }

    1. Помогите решить задание
      Дан двумерный массив размерностью [n, m], заполненный случайным образом. Заменить все элементы первых трех
      столбцов на их квадраты.

      1. #include
        #include

        using namespace std;

        int main()
        {
        setlocale(LC_ALL,(“rus”));

        const int row = 3;
        const int cols = 4;

        int sqare = 0;

        int arr[row][cols] = {};

        srand(time(NULL));

        for (int i = 0; i < row; i++)
        {
        cout << "|";
        for (int j = 0; j < cols; j++)
        {
        arr[i][j] = rand() % 10;
        cout << arr[i][j] << " ";
        }
        cout << "|" << endl;
        }
        cout << endl;
        for (int i = 0; i < row; i++)
        {
        cout << "|" ;
        for (int j = 0; j < 3; j ++ )
        {
        arr[i][j] *= arr[i][j];
        cout << arr[i][j] << " ";
        }
        cout << "|" << endl;
        }

        cout << endl;
        return 0;
        }

  2. #include
    #include
    using namespace std;
    int main()
    {
    srand(time(NULL));
    setlocale(LC_ALL, “ru”);
    const int row = 5;
    const int col = 5;
    int arr[row][col]{};
    int c_row[row]{};
    int max = 0;
    int max_row = 0;
    for (int i = 0; i < row; i++)
    {
    for (int j = 0; j < col; j++)
    {
    arr[i][j] = 10 + rand() % 91;
    cout << arr[i][j] << " | ";
    c_row[i] += arr[i][j];
    }cout << endl;
    }
    for (int i = 0; i < row; i++)
    {
    cout << "Сумма элементов в " << i + 1 << " строке " << c_row[i] << endl;
    if (max < c_row[i])
    {
    max = c_row[i];
    max_row++;
    }
    }cout << "Максимальная сумма элементов находится на "<<max_row<<" строке и равна: " << max << endl;

    return 0;
    }

    1. помогите решить пожалуйста
      Дан двумерный массив размерностью [n, m], заполненный случайным образом. Заменить все элементы первых трех
      столбцов на их квадраты.

  3. Помогите решить задание.
    Дан двумерный массив размерностью [n, m], заполненный случайным образом. Заменить все элементы первых трех
    столбцов на их квадраты.

  4. Помогите решить .
    Дан двумерный массив. Определить: есть ли в данном массиве отрицательный элемент.

    1. srand(time(nullptr));
      const int length = 5;
      int numbers[length][length];
      int negative_numbers = 0;
      for (size_t i = 0; i < length; i++)
      {
      for (size_t j = 0; j < length; j++)
      {
      numbers[i][j] = -5 + rand() % 26;
      cout << numbers[i][j] << " ";
      if (j == 4)
      {
      cout << endl;
      }
      }
      }
      for (size_t i = 0; i < length; i++)
      {
      for (size_t j = 0; j < length; j++)
      {
      if (numbers[i][j] < 0)
      {
      negative_numbers++;
      }

      }
      }
      if (negative_numbers == 0)
      {
      cout << "The negative numbers not found…" << endl;
      }

      else
      {
      cout << "Number of negative numbers = " << negative_numbers << endl;
      }

  5. Помогите пожалуйста решить задачу!
    Данная прямоугольная матрица A размерностью n × m. Расположить столбцы матрицы в порядке возрастания элементов k-той строки (1≤ k ≤n).

  6. помогите решить пожалуйста. Найти число положительных элементов лежащих на главной диагонали квадратной матрицы.

  7. помогите!Адана квадратная матрица, состоящий из nхn элементов. Матрица содержит различные значения. Необходимо изъять из матрицы одинаковые элементы.

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

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