Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2010, 21:21   #1
warma2d
Пользователь
 
Аватар для warma2d
 
Регистрация: 17.12.2008
Сообщений: 50
Вопрос наибольшая сумму элементов столбца Delphi

Здравствуйте!
Попробовал поискать аналогичное в поиске, но мало что нашёл интересного.

Задана матрица X(NxM). Напечатать номер столбца, имеющего наибольшую сумму элементов.

Помогите пожалуйста разобраться с этой задачкой
Код:


program Rabota621;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  math;

Var

i,j,n,m,s,max,h:integer; //rabo4aya peremennaya
x:array [1..10,1..10] of integer; // Massiv 1


begin

writeln('V-te kol-vo n <=10');
readln(n);
writeln('V-te kol-vo m <=10');
readln(m);
writeln ('v-te massiv 1 ');
for i:=1 to n do
for j:=1 to m do
readln(x[i,j]);

  {ishem stolbec s max summoy elementov, index v peremennoy h}
  for i:= 0 to N - 1 do begin
    s:= 0;
    for j:= 0 to M - 1 do s:= s + x[i, j];
    //c[i]:= s;
    //if i = 0 then k:= c[0];
    //if c[i] < k then begin
      //k:= c[i];
      h:= i;
    end;



Writeln('Nomer stolbca  = ', h);
Readln;

end.
Заранее спасибо!
Skype: warma2d
ICQ: 838012
mail warma2d@ya.ru
warma2d вне форума Ответить с цитированием
Старый 20.11.2010, 22:11   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  math;

Var

i,j,n,m,s,h:integer; //rabo4aya peremennaya
x:array [1..10,1..10] of integer; // Massiv 1
max:array[1..10] of integer;

begin

for i:=1 to 10 do begin
  for j:=1 to 10 do begin
   x[i,j]:=random(100);
   max[j]:=max[j]+x[i,j];
   write(x[i,j]:5);
  end; writeln;
end;
 i:=1;         writeln;
 for j:=1 to 10 do begin
   if max[i]<max[j] then i:=j;
   write(max[j]:5);
 end;writeln;



Writeln('Nomer stolbca  = ', i);
Readln;

end.
Примени военную хитрость.
Посмотри код и попытайся разобраться в нем.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.11.2010, 23:00   #3
warma2d
Пользователь
 
Аватар для warma2d
 
Регистрация: 17.12.2008
Сообщений: 50
По умолчанию

Stilet, Огромное спасибо!

Разбираюсь, разбираюсь...
Кажется, что всё просто, но понять не так просто
Skype: warma2d
ICQ: 838012
mail warma2d@ya.ru
warma2d вне форума Ответить с цитированием
Старый 21.11.2010, 00:15   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А что тут понимать? Я запросил третий массив, элементы которого будут хранить суммы столбца.
Здесь
Цитата:
max[j]:=max[j]+x[i,j];
В цикле каждому елементу прибавляется очередной - в результате получается список сумм по колонкам.
Дальше дело техники - цикл по ним на экстремумы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан одномерный массив. Найдите сумму максимального и последнего элементов массива. Delphi. buyaka cha Помощь студентам 4 15.11.2010 13:46
Как найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов INFINITIFX Общие вопросы C/C++ 2 11.11.2010 09:55
Сумму положительных элементов и сумму отрицательных элементов Natali_11111 Помощь студентам 6 04.03.2010 13:53
В прямоугольной матрице переставить столбцы так, чтобы сумма элементов столбца росла от первого столбца Aleo13 Помощь студентам 5 15.10.2008 18:34