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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.09.2009, 01:31   #1
Лида200915
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 26
По умолчанию массивы.паскаль

Ребят, подскажите в чем ошибка в задаче. Третий час ломаем голову и не поймем в чем ошибаемся...задача такая:упорядочить строку с номером k в двумерном массиве a[i,j].

программа:

Код:
program massiv;
const n=5;
const m=5;
var a:array [1..n,1..m] of integer;
var i,j,k,f,max:integer;
begin
randomize;
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random (100);
write (a[i,j]:3);
end;
writeln;
end;
writeln ('введите номер строки k');
readln (k);
max:=a[k,n];
for j:=1 to n-1 do begin
for j:=j+1 to n-1 do
if a[k,j]>max then begin
f:=a[k,j];
a[k,j]:=max;
max:=f;
end;
for i:= 1 to n do
begin
for j:=1 to m do
write (a[i,j]:3);
writeln (' ');
end;
end;
end.
Уточните, пожалуйста в какой строчке ошибка и какая...Заранее спасибо)

Последний раз редактировалось Stilet; 30.09.2009 в 09:07.
Лида200915 вне форума Ответить с цитированием
Старый 30.09.2009, 02:12   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Для начала ошибка в этих строках
Код:
for j:=1 to n-1 do begin
for j:=j+1 to n-1 do
Скорее всего перепутали i и j. В любом случае в цикле for вручную переменную-счётчик изменять нельзя
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 30.09.2009, 07:15   #3
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

вот первые исправления. Приду с учёбы - доделаю:
Код:
program massiv;
const n=5;
var a,b:array [1..n,1..n] of integer;i,j,k,f,max:integer;
begin
 for i:=1 to n do 
  for j:=1 to n do 
   a[i,j]:=random (100);
 for i:=1 to n do
  begin
   for j:=1 to n do
    write(a[i,j]:4);
   writeln(' ');
  end; 
 writeln;
 write ('введите номер строки: ');
 readln (k);
 writeln;
 max:=a[k,n];
 for j:=1 to n do
 if a[k,j] > max then begin
  f:=a[k,j];
  a[k,j]:=max;
  f:=max;
 end;
 for i:= 1 to n do
 begin
 for j:=1 to n do
 write (a[i,j]:4);
 writeln (' ');
 end;
end.
kakawkin вне форума Ответить с цитированием
Старый 30.09.2009, 08:02   #4
Consol
Пользователь
 
Регистрация: 19.08.2009
Сообщений: 89
По умолчанию

Цитата:
max:=a[k,n];
for j:=1 to n do
if a[k,j] > max then begin
f:=a[k,j];
a[k,j]:=max;
f:=max;
end;
какой то странный код
скорее всего должно быть так
Код:

program massiv;
const n=5;
const m=5;
var a:array [1..n,1..m] of integer;
var i,j,k,f,max:integer;
begin
randomize;
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random (100);
write (a[i,j]:3);
end;
writeln;
end;
writeln ('введите номер строки k');
readln (k);
for j:=1 to n-1 do begin
for i:=j+1 to n do
if a[k,j]>a[k,i] then begin
f:=a[k,j];
a[k,j]:=a[k,i];
a[k,i]:=f;
end;
for i:= 1 to n do
begin
for j:=1 to m do
write (a[i,j]:3);
writeln (' ');
end;
end;
end.
Consol вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. массивы }{oTT@БЬ)Ч™ Помощь студентам 9 07.12.2015 20:00
Паскаль. Массивы cucumber Помощь студентам 4 10.04.2009 16:42
массивы Паскаль Натуськ@25 Помощь студентам 1 13.02.2009 19:33
Массивы Паскаль Рітка-кулеметчиця Помощь студентам 1 02.02.2009 08:48
Паскаль, массивы. SZero Помощь студентам 5 22.03.2008 16:06