annasv8
?>

По программированию в c++. дан массив a(n, m найти произведение элементов каждой строки массива.

Информатика

Ответы

gigbes

#include <iostream>

#include <time.h>

#include <iomanip>

using namespace std;

int main()

{

 int i, j, n, m;

 double** a;

 double p;

 setlocale(LC_ALL, "Russian");

 cout << "\nN = ";

 cin >> n;

 cout << "\nM = ";

 cin >> m;

 a = new double*[n];

 for (i = 0; i < n; i++)

   a[i] = new double[m];

 srand(time(NULL));

 for (i = 0; i < n; i++) {

   for (j = 0; j < m; j++) {

     a[i][j] = (double)rand() / (RAND_MAX + 1) * 10;

     cout << setw (5) << fixed << setprecision (2) << a[i][j] << " ";

   }

   cout << "\n";

 }

 cout << "\nПроизведения строк:";

 for (i = 0; i < n; i++) {

   p = 1;

   for (j = 0; j < m; j++) {

     p *= a[i][j];

   }

   cout << setw (15) << fixed << setprecision(2) << right << "\n" << p;

 }

 cout << "\n";

}

akopsiroyan
Цифры в номере по условию не зависят от буквы, поэтому если возможное количество букв n (n букв в алфавите) и наборов из 3 цифр, удовлетворяющих условию m, то всего возможно n*m различных номеров.
Посчитаем m.
Для начала посчитаем количество номеров, содержащих ровно одну цифру 7. их 3 * 9 * 9 = 243 (3 возможных позиции расположения этой цифры, а каждая из оставшихся цифр - одна из 9 (всего цифр 10, исключаем цифру 7). Среди них не может быть чисел, содержащих более 2 нулей, поэтому все эти числа подходят.
Теперь посчитаем количество наборов из 3 цифр, не содержащих ни одной 7. Их 9 * 9 * 9 = 729 (всего возможно 9 цифр на каждой позиции). Но среди них есть ровно один набор, содержащий более 2 нулей: 000. Отнимем его: 729 - 1 = 728
m = 728 + 243 = 971
Всего номеров 971 * n, где n - количество букв в алфавите
market-line5260
1.
const n=10;
var a:array[1..n] of integer;
i,max,min:integer;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
begin
a[i]:=random(51);
write(a[i]:4);
end;
writeln;
max:=a[1]; min:=a[1];
for i:=2 to n do
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
end;
writeln('max = ',max,' min = ',min);
writeln(max,'-',min,' = ',max-min);
end.

Пример:
23 23 46 28 38 21 46 5 19 27
max = 46 min = 5
46-5 = 41

2.
const n=10;
var a:array[1..n] of integer;
i:integer; 
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
 begin
 a[i]:=random(21);
 write(a[i]:3);
 end;
writeln;
writeln('Числа >5:');
for i:=1 to n do
 if a[i]>5 then write(a[i]:3);
end.

Пример:
Массив A:
 7 0 12 5 1 1 13 15 13 20
Числа >5:
 7 12 13 15 13 20

3.
const n=10; 
var a:array[1..n] of integer;
i:integer; p:real;
begin
Randomize;
writeln('Массив A:');
for i:=1 to n do
 begin
 a[i]:=random(11);
 write(a[i]:3);
 end;
writeln;
p:=1;
for i:=1 to n do
 if a[i]<>0 then p:=p*a[i];
write('p = ',p);
end.

Пример:
Массив A:
 5 7 1 6 0 0 4 1 5 0
p = 4200

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

По программированию в c++. дан массив a(n, m найти произведение элементов каждой строки массива.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

msangelika1010
ann-perminova2008
fokolimp
suny84
Kochinev7
litlenet
NikolaevichIP1136
Акоповна
Ольга1915
Abespal
Нозадзе_Новиков392
emartynova25
Alena824
korchags19983941
stomcom01