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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2008, 17:24   #1
fosto
 
Регистрация: 07.12.2008
Сообщений: 5
По умолчанию В чем ошибка?

Задача решается с использованием подпрограммы(процедуры).
Дана целочисленная прямоугольная матрица.
Определить номер строки,в которой находится самая длинная серия одинаковых элементов.

У меня все время выводит 5

P.S.Для матрицы
1 2 3 4 5
1 1 1 1 8
2 8 9 7 1
1 2 3 8 4
Ответ будет 2

Program PR_63;
Uses Crt;
type mas=array [1..5,1..5] of integer;
var a:mas;
i,j:integer;
n:integer;
Procedure maximalny (x:mas; var l:integer);

var i,j,max,k:integer;
begin
k:=0;
max:=0;
for i:=1 to 5 do
begin
for j:=1 to 5 do
if x[i,j]=x[i,j] then k:=k+1 else k:=k+0;

if k>max then
begin
max:=max+k;
l:=i;
end;
end;
end;
Begin
Clrscr;
writeln ('Vvedite massiv 5x5');
for i:=1 to 5 do
for j:=1 to 5 do
read(a[i,j]);
maximalny(a,n);
writeln('Nomer stroki - ',n);
readln;
End.
fosto вне форума Ответить с цитированием
Старый 07.12.2008, 17:49   #2
6AZblJlb
Пользователь
 
Аватар для 6AZblJlb
 
Регистрация: 04.12.2008
Сообщений: 46
По умолчанию

во первых матрица у тебя тут написано 5 * 4 ну а если 5 на 5 то вот вроде так надо
Код:
Program PR_63;
Uses Crt;
  type mas=array [1..5,1..5] of integer;
  var a   : mas;
      t,y,n : integer;
   {   l   : integer;}
function maximalny (x:mas; var l:integer) : integer;

var i,j,max,o,k:integer;
begin
  k:=0; max:=0; o:=1;
  for i:=1 to 5 do
    for j:=1 to 5 do begin
    for o:=1 to 5 do
    if (a[i,j]=a[i,o]) and (j<>o) then inc(k);
    if k>max then begin  max:=k;l:=i; end;
    k:=0;

   end;
  maximalny :=l;
end;
Begin
 Clrscr;
 writeln ('Vvedite massiv 5x5');
 for t:=1 to 5 do
  for y:=1 to 5 do
   read(a[t,y]);
 n:= maximalny(a,n);
 writeln('Nomer stroki - ',n);
 readln;
End.
и я через функцию прописал а не процедуру
Будь проще, и у тебя будет меньше делителей.

Последний раз редактировалось SuperVisor; 08.12.2008 в 21:47.
6AZblJlb вне форума Ответить с цитированием
Старый 07.12.2008, 18:42   #3
fosto
 
Регистрация: 07.12.2008
Сообщений: 5
По умолчанию

Спасибо огромное. Если бы не ты пипец мне был-бы завтра.Но все супер пипца не будет .

P.S.Если я правильно понял то ник у тебя Базыль,а у меня фамилия Базылевич.
fosto вне форума Ответить с цитированием
Старый 07.12.2008, 19:10   #4
6AZblJlb
Пользователь
 
Аватар для 6AZblJlb
 
Регистрация: 04.12.2008
Сообщений: 46
По умолчанию

))) это типо к слову)))) Базыль - Василь, вот так вот...
Будь проще, и у тебя будет меньше делителей.
6AZblJlb вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
lgdt в чем ошибка? brainFuck Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 20.08.2008 19:47
подскажитеп в чем ошибка juden Общие вопросы C/C++ 1 10.05.2008 09:18
В чем ошибка ? Droid Общие вопросы Delphi 13 03.05.2008 18:17
В чем ошибка!!! juden Общие вопросы Delphi 12 10.03.2008 08:53
в чем ошибка? Lonix Общие вопросы Delphi 2 24.03.2007 09:41