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

В каждой строке матрицы найти элементы, для которых сумма предшествующих элементов больше суммы последующих элементов

11.11.2018, 21:06. Показов 1491. Ответов 4
Метки нет (Все метки)

Проверьте пожалуйста код программы относительно условия задачи
В каждой строке матрицы D(n, n), (n<=6), найти элементы, для которых сумма предшествующих элементов больше суммы последующих элементов. Для первого элемента сумму предшествующих элементов считать равной нулю. Для последнего элемента сумму последующих элементов считать равной нулю. Вывести исходную матрицу, располагая рядом с каждой строкой найденные элементы.
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
program Project3;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
var d:array[1..6,1..6] of integer;
    m,n,i,j,s1,s2:integer;
begin
 randomize;
 repeat
 write('m [2..6] m=');
 readln(m);
 until m in [2..6];
 repeat
 write('n [2..6] n=');
 readln(n);
 until n in [2..6];
 for i:=1 to m do
  begin
   s1:=0;
   s2:=0;
   for j:=1 to n do
    begin
     d[i,j]:=-5+random(11);
     write(d[i,j]:3);
     if j>1 then s2:=s2+d[i,j];
    end;
   write(' |');
   if s2<0 then write(d[i,1]:3);
   for j:=2 to n-1 do
    begin
     s1:=s1+d[i,j-1];
     s2:=s2-d[i,j];
     if s1>s2 then write(d[i,j]:3);
    end;
   if s1>0 then write(d[i,n]:3);
   writeln;
  end;
readln;
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2018, 21:06
Ответы с готовыми решениями:

Массив: в каждой строке матрицы найти элементы, где сумма предшествующих элементов больше суммы последующих
Уважаемые, очень сильно надеюсь на вашу помощь! В общем, поставлена задача. Составить программу,...

Поиск элементов массива, для которых сумма предшествующих элементов больше суммы последующих
Помогите пожалуйста написать программу. Составить программу, которая в каждой строке матрицы...

Для матрицы в каждой строке вычислить суммы элементов, предшествующих последнему отрицательному элементу строки
Нужна ваша помощь ! Вот задача: Дана вещественная прямоугольная матрица. Получить массив В ,...

В каждой строке матрицы найти произведение элементов предшествующих минимальному элементу строки
помогите пожалуйста решить, немого я написал, а вот дальше проблемка..))) Ввести матрицу A(N,M) ....

4
Модератор
8335 / 5548 / 2263
Регистрация: 21.01.2014
Сообщений: 23,830
Записей в блоге: 3
12.11.2018, 06:51 2
Цитата Сообщение от ArseniyPC Посмотреть сообщение
Проверьте пожалуйста код программы относительно условия задачи
Вам что-то или кто-то мешает самому это сделать?
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
12.11.2018, 08:51 3
Лучший ответ Сообщение было отмечено ArseniyPC как решение

Решение

Что-то не понравилось мне, написано запутанно и результаты не верные, я бы написал так.
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
program Project2;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
var d:array[1..6,0..7] of integer;
    m,n,i,j,k,s1,s2:integer;
begin
 randomize;
 repeat
 write('m [2..6] m=');
 readln(m);
 until m in [2..6];
 repeat
 write('n [2..6] n=');
 readln(n);
 until n in [2..6];
 for i:=1 to m do
  begin
   d[i,0]:=0; //в начало и в конец строк впишем ноли
   d[i,n+1]:=0;
   for j:=1 to n do
   d[i,j]:=-5+random(11);
  end;
 for i:=1 to m do
  begin
   for j:=1 to n do
   write(d[i,j]:3);
   write(' |');
   for j:=1 to n do
    begin
     s1:=0;
     s2:=0;
     for k:=0 to j-1 do s1:=s1+d[i,k];
     for k:=j+1 to n+1 do s2:=s2+d[i,k];
     if s1>s2 then write(d[i,j]:3);
    end;
   writeln;
  end;
readln;
end.
1
0 / 0 / 0
Регистрация: 08.10.2018
Сообщений: 93
12.11.2018, 12:07  [ТС] 4
спасибо большое, Puporev!

Добавлено через 2 часа 55 минут
Стойте, в условии же записана квадратная матрица, может можно попробовать отредактировать код без ввода m, как лучше это сделать?
0
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
12.11.2018, 12:11 5
Совсем безрукий что ли?
Убери из var m, убери строки 13-15, дальше в коде замени везде m на n.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2018, 12:11
Помогаю со студенческими работами здесь

Если число нечетных элементов в каждой строке матрицы не больше 2, то найти сумму четных элементов матрицы больших 5
матрица размерности m x n, вводиться пользователем из текстового файла. если число нечетных...

Подсчет в каждой строке количества и суммы элементов, состоящих из двух цифр, сумма которых не делится на 2
С помощью генератора случайных чисел сформировать квадратную целочисленную матрицу размерности m x...

Удалить из матрицы те строки, для которых количество ненулевых элементов больше количества нулевых элементов в строке
помогите пожалуйста написать вот такую задачу: Дана целочисленная квадратная матрица порядка 5....

Создать новую матрицу из тех столбцов исходной, сумма которых больше суммы всех элементов матрицы
Ввести матрицу из n*m чисел (массив и числа m, n ввести с экрана). Создать новую матрицу из тех...


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

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

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