Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
#1

Формирование массивов

17.05.2009, 11:19. Просмотров 487. Ответов 5
Метки нет (Все метки)

Дана прямоугольная матрица размера m×n. Составить программу, которая находит столбцы с наибольшей и наименьшей суммой элементов. Вывести найденные столбцы и суммы их элементов.

Я пробовал вот так, но выдаёт неправильный ответ

Pascal
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
Program Stolb;
Const n=5; m=6;
Var i, j, maxS, jmax, minS, jmin : integer;
     A:array[1..n, 1..m] of integer;
     S:array[1..m] of integer;
Begin
Writeln (‘Ishodniy massiv’);
For j:=1 to m do
Begin
     S[j]: = 0;
      For i:=1 to n do
       S[j]:=S[j]+A[i, j];
End;
maxS:=S[1];
jmax:=1;
minS:=S[1];
jmin:=1;
for j:=1 to m do
if S[j] > maxS then
Begin
    maxS:=S[j];
      jmax:=j;
end;
  if S[j] < minS then
Begin
 minS:=S[j];
  jmin:=j;
end;
writeln(‘Summa max=,maxS);
writeln(‘Nomer stolbtsa=,jmax);
writeln(‘Summa min=,minS);
writeln(‘Nomer stolbtsa=,jmin);
readln;
End.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2009, 11:19
Ответы с готовыми решениями:

Формирование массивов
Здраствуйте, я никогда не учил паскаль а теперь поступил в колледж, и мне...

Формирование массивов
Сформировать квадратную матрицу порядка n по заданному образцу

Формирование массивов
Сформировать квадратную матрицу по заданному образцу: 1 1 1 … 1 ...

Формирование массивов, поиск элементов с заданными свойствами
Даны сведения о массах 15 вагонов состава - массив A . 1)Определить число...

Записать в файл f2 последовательность массивов, получающихся преобразованием исходных массивов
Pascal Дан файл h1, компонентами которого являются массивы целых чисел...

5
Puporev
Модератор
54387 / 41968 / 28988
Регистрация: 18.05.2008
Сообщений: 98,861
17.05.2009, 12:12 #2
Pascal
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
Program Stolb;
uses crt;
Const
m=5;
n=6;
Var i,j,sm,maxS,jmax,minS,jmin : integer;
    A:array[1..m, 1..n] of integer;
Begin
clrscr;
randomize;
Writeln ('Ishodniy massiv');
For i:=1 to m do
 Begin
   For j:=1 to n do
    begin
     a[i,j]:=random(10);{создаем и выводим на экран массив}
     write(a[i,j]:2,' ');
    end;
   writeln;
 End;
maxS:=0;{макс сумма пока 0,можно меньше, типа -maxint-1}
jmax:=1;
minS:=1000;{минимальная пока=1000,можно до maxint}
jmin:=1;
for j:=1 to n do{идем по столбцам}
 begin
  sm:=0;
  for i:=1 to m do {считаем сумму в каждом столбце}
  sm:=sm+a[i,j];
  if sm>maxS then{если она больше предыдущего макс}
   begin
    maxS:=sm;{то она макс}
    jmax:=j;{номер столбца}
   end;
  if sm<minS then{аналогично с мин}
   begin
    minS:=sm;
    jmin:=j;
   end;
 end;
writeln('Столбец с максимальной суммой № ',jmax,' сумма=',maxS);
for i:=1 to m do
write(a[i,jmax],' ');
writeln;
writeln('Столбец с минимальной суммой № ',jmin,' сумма=',minS);
for i:=1 to m do
write(a[i,jmin],' ');
readln
End.
1
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
17.05.2009, 13:03  [ТС] #3
Puporev, да ты просто метеор, не успел ещё с теми задачами разобраться.
Спасибо за пояснения !!!
0
Puporev
Модератор
54387 / 41968 / 28988
Регистрация: 18.05.2008
Сообщений: 98,861
17.05.2009, 13:05 #4
не успел ещё с теми задачами разобраться.
Больше не буду.
1
Danil-za
3 / 3 / 0
Регистрация: 16.05.2009
Сообщений: 69
18.05.2009, 18:26  [ТС] #5
Puporev, почему maxS:=0; , а minS:=1000 в твоей задаче ???
0
Puporev
Модератор
54387 / 41968 / 28988
Регистрация: 18.05.2008
Сообщений: 98,861
18.05.2009, 19:05 #6
почему maxS:=0; , а minS:=1000 в твоей задаче ???
В начале за максимум принимают число меньше всех возможных сумм в строках и столбцах массив, чтобы потом уже первая сумма стала максимумом. С минимумом наоборот надо брать такое число, чтоб все суммы были точно меньше его.
Например, мы примем начальный максимум=1000,а ни одной суммы не будет больше и тогда выдаст максимальную сумму в строке=1000, хотя такой нет ни вв одном столбце. То же с минимумом.
Вообще корректнее писать так
max:=-maxint-1; min:=maxint;
1
18.05.2009, 19:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2009, 19:05

Типизированные файлы. Записать в файл Н2 последовательность массивов, получающихся преобразованием исходных массивов
Дан файл Н1, элементами которого являются массивы целых чисел а0,а1,…,а4....

В каждом из массивов найти наименьшее значение и умножить на него все элементы массивов
Заданы два массива A(N) и B(M). В каждом из массивов найти наименьшее значение...

программы усложненной структуры, обработка двухмерных массивов, использование стандартных функций для работы с массивами, сортировка массивов.
Искала задачи, нашла в с++, а нужно в паскале сотворить следующее. ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru