2 / 2 / 0
Регистрация: 14.11.2019
Сообщений: 222
1

Если все суммы значений элементов строк матрицы A(nxm) больше произведения этих строк, вывести сообщение

07.12.2019, 19:00. Показов 1423. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если все суммы значений элементов строк матрицы A(nxm) больше произведения этих строк, вывести сообщение "Все суммы больше", иначе вывести номер первой строки, для которой условие не выполняется и среднее арифметическое ее элементов
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2019, 19:00
Ответы с готовыми решениями:

Если все суммы значений элементов этих строк матрицы x (n x m) больше произведений элементов этих строк
Если все суммы значений элементов этих строк матрицы x (n x m) больше произведений элементов этих...

Массив: Вывести на экран суммы и произведения элементов всех строк матрицы
Создать матрицу размера 3х3. Вывести на экран суммы и произведения элементов всех ее строк...

Найти сумму элементов строк матрицы [A], размером NxM. Вывести на печать исходную матрицу и сумму строк.
Найти сумму элементов строк матрицы , размером NxM. Вывести на печать исходную матрицу и сумму...

Даны три целые матрицы размером nxm. Вывести на экран ту из них, где больше нулевых строк
Программа. Даны три целые матрицы размером nxm. Вывести на экран ту из них, где больше нулевых...

3
2 / 2 / 0
Регистрация: 14.11.2019
Сообщений: 222
08.12.2019, 13:13  [ТС] 2
написал программу, но она с ошибками, можете исправить?

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  windows;
 
const
    lim=5;
  var
    B:array[1..lim, 1..lim] of integer;
   nom,sum,pr,n,m,i,j:integer;
   sr:real;
  dat,res:textfile;
  flag:boolean;
begin
  SetConsoleCp(1251);
  SetConsoleOutputCp(1251);
  AssignFile(dat, Paramstr(1));
  Reset(dat);
    AssignFile(res, Paramstr(2));
    Rewrite(res);
    Writeln(res, 'Контрольная работа');
    readln(dat,n);
    Writeln(res,'Количество строк:', n);
    readln(dat,m);
    Writeln(res,'Количество столбцов:', m);
    For i:=1 to n do
Begin
For j:=1 to m do read (dat,B[i,j]);
readln(dat);
end;
 writeln(res,' Исходная квадратная матрица из ',n:1,' строк и ',m:1,'  столбцов');
For i:=1 to n do
Begin
For j:=1 to m do write (res,B[i,j]:2,' ');
writeln(res);
End;
Flag:=true;
 while (i<=n) and (flag=true) do begin
   sum:=0;
   pr:=1;
   nom:=0;
   Sr:=0;
For j:=1 to m do begin
Sum:=Sum+B[i,j];
Pr:=Pr*B[i,j];
if Sum>Pr then
 Writeln(res,'Все суммы больше')
else begin nom:=i; flag:=false;
Writeln(res,'Номер первой строки, для которой не выполняется условие',nom);
Sr:=Sum/m;
Writeln(res, 'Среднее арифметическое этой строки', Sr);
end;
 end;
 inc(i);
 
 end;
 Closefile(dat);
 Closefile(res);
 Writeln('Press Enter...');
 Readln;
end.
0
Модератор
9056 / 5853 / 2335
Регистрация: 21.01.2014
Сообщений: 25,036
Записей в блоге: 3
08.12.2019, 13:28 3
Цитата Сообщение от babahs1 Посмотреть сообщение
но она с ошибками
Delphi
1
while (i<=n) and (flag=true) do begin
Чему у Вас тут i равно?
0
2 / 2 / 0
Регистрация: 14.11.2019
Сообщений: 222
08.12.2019, 15:23  [ТС] 4
надо до while, i:=1 написать?

Добавлено через 30 минут
Исправил программу, но не понимаю как вывести "Все суммы больше" один раз, если выполняется условие.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  windows;
 
const
    lim=5;
  var
    B:array[1..lim, 1..lim] of integer;
    sum:array[1..lim] of integer;
    pr:array[1..lim] of integer;
   nom,n,m,i,j:integer;
   sr:real;
  dat,res:textfile;
  flag:boolean;
begin
  SetConsoleCp(1251);
  SetConsoleOutputCp(1251);
  AssignFile(dat, Paramstr(1));
  Reset(dat);
    AssignFile(res, Paramstr(2));
    Rewrite(res);
    Writeln(res, 'Контрольная работа');
    readln(dat,n);
    Writeln(res,'Количество строк:', n);
    readln(dat,m);
    Writeln(res,'Количество столбцов:', m);
    For i:=1 to n do
Begin
For j:=1 to m do read (dat,B[i,j]);
readln(dat);
end;
 writeln(res,' Исходная квадратная матрица из ',n:1,' строк и ',m:1,'  столбцов');
For i:=1 to n do
Begin
For j:=1 to m do write (res,B[i,j]:2,' ');
writeln(res);
End;
Flag:=true;
  i:=1;
 while (i<=n) and (flag) do begin
  sum[i]:=0;
   pr[i]:=1;
   nom:=0;
   Sr:=0;
For j:=1 to m do begin
Sum[i]:=Sum[i]+B[i,j];
Pr[i]:=Pr[i]*B[i,j];
end;
if Sum[i]>Pr[i]  then
Writeln(res, 'Все суммы больше')
else
begin flag:=false; nom:=i;
Writeln(res,'Номер первой строки, для которой не выполняется условие',nom);
Sr:=Sum[i]/m;
Writeln(res, 'Среднее арифметическое этой строки', Sr);
 end;
 inc(i);
 end;
 
 Closefile(dat);
 Closefile(res);
 Writeln('Press Enter...');
 Readln;
end.
Добавлено через 50 минут
а все разобрался
0
08.12.2019, 15:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2019, 15:23
Помогаю со студенческими работами здесь

Если сумма двух первых строк матрицы А меньше суммы элементов двух последних её строк
Если сумма двух первых строк матрицы А меньше суммы элементов двух последних её строк. Изменить...

Задана матрица размером NxM. Определить k - количество "oco6ых" элементов матрицы, считая элемент "особым", если он больше суммы остальных элементов с
Задана матрица размером NxM. Определить k - количество &quot;oco6ых&quot; элементов матрицы, считая элемент...

Сортировка строк матрицы по возрастанию произведения четных элементов строк
Доброго времени форумчане....нужна ваша помощь в доработке программы.... Вот условие... Дана...

Для матрицы из 3 столбцов и 7 строк отпечатать номера тех строк, в которых третий элемент больше суммы двух
Для матрицы из 3 столбцов и 7 строк отпечатать номера тех строк, в которых третий элемент больше...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru