Информатика, вопрос задал djooo0207 , 8 лет назад

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

Ответы на вопрос

Ответил Аноним
0
#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.
Новые вопросы