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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2011, 20:27   #1
Sanyok1993
 
Регистрация: 24.03.2011
Сообщений: 5
По умолчанию Массив

дано матрицу размерности Н * М. Числа вводятся с помощью генератора случайных чисел в диапазоне от -10 до 10.Знайты в которой колонке есть максимальная сумма элементов по абсолютной величине.

uses crt;
var x:array[1..3,1..3] of integer;
b:array[1..3] of integer;
c,z,v:integer;
begin
clrscr;
randomize;
for z:=1 to 3 do
begin
for c:=1 to 3 do
begin
x[z,c]:=random(20)-10;
write(x[z,c]:8);
end;
writeln;
for z:=1 to 3 do
for c:=1 to 3 do
end;
for z:=1 to 3 do
begin
b[c]:=b[c]+x[z,c];
writeln('b[c]=',b[c]); вот здесь выводит толька 3 колонку,а как зделать что б выводило 1 и 2 тоже?
end;
readln;
end.
Sanyok1993 вне форума Ответить с цитированием
Старый 24.03.2011, 22:07   #2
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

По–хорошему, b нулями заполнить предварительно.

Не Random(20) - 10, а Random(21) - 10 должно быть, потому что Random(20) возвращает числа в диапазоне от 0 до 19, а надо до 20.

Без выравнивания код тяжело понять, надо кнопкой # пользоваться
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 25.03.2011, 17:05   #3
Летучий_СкилетиК
Форумчанин
 
Аватар для Летучий_СкилетиК
 
Регистрация: 04.02.2011
Сообщений: 260
По умолчанию

самый простой вариант:
Код:
var x:array[1..100,1..100] of integer;
c,z,v,p,max,m,n,s:integer;
begin
clrscr;
randomize;
readln(n,m);
for z:=1 to n do
begin
   for c:=1 to m do
   begin
      x[z,c]:=random(21)-10;
      write(x[z,c]:8);
   end;
writeln;
end;
max:=abs(x[1,1]);p :=1;
for z:=1 to n do
begin
  s:=0;
  for c:=1 to m do
  s := s + abs(x[c,z]);
if max < s then begin p := z; max := s;end;
end;
writeln(p);
readln;
end.

Последний раз редактировалось Летучий_СкилетиК; 25.03.2011 в 17:08.
Летучий_СкилетиК вне форума Ответить с цитированием
Старый 25.03.2011, 17:13   #4
Anatole
Форумчанин
 
Аватар для Anatole
 
Регистрация: 07.04.2009
Сообщений: 245
По умолчанию

Цитата:
writeln('b[c]=',b[c]); вот здесь выводит толька 3 колонку,а как зделать что б выводило 1 и 2 тоже?
где-то так:
Код:
for c:=1 to 3 do write(" ",b[c]);
writeln;
Всякое безобразие должно быть единообразным. Тогда это называется порядком.
Anatole вне форума Ответить с цитированием
Старый 27.03.2011, 21:44   #5
Sanyok1993
 
Регистрация: 24.03.2011
Сообщений: 5
По умолчанию

большое спасибо вам за помощ.+_+
Sanyok1993 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W leha_demi Помощь студентам 2 24.09.2011 18:12
Дан массив А(20). Получить массив В(20), в котором В(1)=А(2), В(2)=А(1), В(3)=А(4), В(4)=А(3) и т.д. Выве nikita1 Помощь студентам 5 01.12.2010 18:16
Как конвертировать массив символов в массив байт davinci C++ Builder 6 30.10.2010 18:09
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. TheVenny Помощь студентам 3 26.11.2008 15:06