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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2011, 13:36   #1
shilven
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 16
По умолчанию Исправте ошибку

для заданной матрицы размером 8х8 найти k, что k-я строка матрицы совпадает с k-ым столбцом( оформить в виде процедуры)


program mas;
uses crt;
const n=8;
type
matr=array[1..n,1..n] of integer;
var
a: matr;
i,j : integer;
procedure sorting(const A:matr;var k:integer);
var
i,j:integer;
begin
clrscr;
k:=i;
for j:=1 to n do begin
if A[i,j]<>A[j,i] then
begin
k:=0;
break;
end;
if k>0 then break;
end;
end;
begin
clrscr;
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=random(10)-2;
write(a[i,j]:4);
writeln;
end;
writeln;
end;

end.
shilven вне форума Ответить с цитированием
Старый 13.12.2011, 13:37   #2
shilven
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 16
По умолчанию

Helppppppppppp
shilven вне форума Ответить с цитированием
Старый 13.12.2011, 13:38   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,568
По умолчанию

Да, хороший способ задачи решать: http://programmersforum.ru/showthread.php?t=178433
Arigato вне форума Ответить с цитированием
Старый 13.12.2011, 13:44   #4
shilven
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 16
По умолчанию

прога выдает неизвестное имя типа Tmatrix
shilven вне форума Ответить с цитированием
Старый 13.12.2011, 13:47   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,568
По умолчанию

Я в вашем коде вообще Tmatrix не вижу.
Arigato вне форума Ответить с цитированием
Старый 13.12.2011, 13:50   #6
shilven
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 16
По умолчанию

ну как вы мне дали там был Тmatrix я исправил его на матр
но мне программа не считает матрицу 8х8 она мне считает какбудто у меня только 1 столбец и я не могу не чего проверить в ней )))
shilven вне форума Ответить с цитированием
Старый 13.12.2011, 14:15   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,568
По умолчанию

Ну я же не виноват, что вы даже переписывать не умеете. Не задумывались над вопросом: а оно вам вообще надо, учиться в универе (или где вы учитесь)?
Arigato вне форума Ответить с цитированием
Старый 13.12.2011, 15:29   #8
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Arigato ну так прям строго не надо.( оно того не стоит, нервные клетки надо беречь )

Во-первых , даже такое надо брать в теги (code)(/code), просто потому что не читабельено.

Код:
procedure sorting(const A:matr;var k:integer);
var
i,j:integer;
begin
clrscr;
k:=i;
for j:=1 to n do begin
if A[i,j]<>A[j,i] then
begin
k:=0;
break;
end;
if k>0 then break;
end;
end;
begin
clrscr;
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=random(10)-2;
write(a[i,j]:4);
writeln;
end;
writeln;
end;

end.
Второе, тебе дали процедуру !! процедура на даном этапе это часть решения. А ты же впихнул всё в процедуру. А где же у тебя записана основная программа которая в свою очередь предаёт значения в процедуру?( тоесть тело программы ).

Код:
program mas;
uses crt;
const n=8;
type

matr = array[1..n,1..n] of integer;

var
   a: matr;
   i, j, k: integer;  // здесь ты описываеш глобальные переменные

// дальше ты описываеш процедуру

program mas;
uses crt;
const n=8;
type

matr= array[1..n,1..n] of integer;

var
   a: matr;
   i, j, k : integer; 

Procedure findk ( a:matr; var k:integer );
var i, j: integer;
begin
 for i:=1 to n do begin
      k:=i;
   for j:=1 to n do
    if A[i,j] <> A [j,i] then begin
       k:=0;
       break;
    end;
   if k>0 then break;
 end;
end;

begin // тело программы
clrscr;
for i:=1 to n do
 for j:=1 to n do begin
     a[i,j]:=random(10)-2;
end;
writeln;
findk(a, k);
writeln(k);
writeln;
for i:=1 to n do begin
 for j:=1 to n do
     write(a[i,j]:3);
     writeln;
end;
readln;
end.
Ты даже процедуру нормально не переписал, а уже переполох поднимаеш.

Исправил.
Люблю на ты.Я человек простой

Последний раз редактировалось Leshii; 13.12.2011 в 22:33.
Leshii вне форума Ответить с цитированием
Старый 13.12.2011, 18:18   #9
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,568
По умолчанию

Вывод результата внутри процедуры неправильно делать, его надо делать в основной программе.
Arigato вне форума Ответить с цитированием
Старый 14.12.2011, 10:40   #10
shilven
Пользователь
 
Регистрация: 13.12.2011
Сообщений: 16
По умолчанию

народ извините ))

ну просто мне очень фигово обьясняют предмет там презинтацию скинут и все поэтому мои познанию в паскале такие какие есть восновном все сам так что так )))

еще раз извените )
shilven вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправте ошибку Drago56 Помощь студентам 8 19.12.2010 11:52
исправте ошибку! s.talke.r Паскаль, Turbo Pascal, PascalABC.NET 0 18.12.2010 16:48
Исправте ошибку Drago56 Общие вопросы C/C++ 7 15.12.2010 16:09
Исправте ошибку dimon305 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 19.05.2010 19:30
Исправте ошибку dimon305 Помощь студентам 0 18.05.2010 21:23