profile
Опубликовано 5 лет назад по предмету Информатика от djooo0207

Создайте двумерный массив целого типа заданного размера, M строк и N столбцов. Задайте значения элементов с помощью генератора случайных чисел в пределах от 2 до 5. Найдите сумму всех элементов в каждой строке.

  1. Ответ
    Ответ дан Аккаунт удален
    #include <locale>
    #include <iostream>
    #include <ctime> // для time в srand
    #include <stdlib.h>
    using namespace std;
         
    int main() {
         
      setlocale(LC_ALL, "rus");
      srand(time(0));
         
      int n,m;
         
      cout << "Строк: "; cin >> n; cout << endl;
      cout << "Столбцов: "; cin >> m; cout << endl;
         
      // создание и инициализация динамического массива
      int **a=new int* [n];
      for (int i=0; i<n; i++) {
        a[i]=new int[m];
      for (int j=0; j<m; j++)
        a[i][j]=rand()%4+2;
                   }
      // вывод массива по строкам          
      for (int i=0; i<n; i++){
        for (int j=0; j<m; j++)
          cout << a[i][j] << "   ";
        cout << endl;
        }
         
      // суммы по строкам с выводом
      cout << endl << "Суммы по строкам" << endl;
      for (int i=0; i<n; i++) {
        int s=0;
        for (int j=0; j<m; j++)
          s+=a[i][j];
        cout << s << " ";
        }
         
      // очистка мусора после работы (обязательно!!!)
      for (int i=0; i<n; i++)
        delete []a[i];
      system("pause");
      return 0;
      }


    * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    Эх... сумасшествие это - делать на С++ такие задачи.
    В качестве обидного бонуса - как выглядит полный аналог программы, но  на современном паскале. Можете сравнить размер программы. Смешно, не правда ли?

    // PascalABC.NET 3.2, сборка 1370 от 24.12.2016
    // Внимание! Если программа не работает, обновите версию!

    begin
      var n:=ReadInteger('Строк:');
      var m:=ReadInteger('Столбцов:');
      var a:=MatrRandom(n,m,2,5); a.Println(2);
      Writeln(NewLine,'Суммы по строкам');
      a.Rows.Select(x->x.Sum).Println;
    end.