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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.12.2011, 21:23   #1
euroyurich
Новичок
Джуниор
 
Регистрация: 12.12.2011
Сообщений: 6
По умолчанию Не работает процедура, не понимаю почему:)

ребят мне нужно написать процедуру(или функцию если возможно) которая будет менять местами наибольший и наименьший элементы матрицы. вот как я ее написал:

type
massiv=array[1..100,1..100] of integer;

procedure exchange(n:integer;m:integer;a:mass iv);
var i,j,max,min,buf,u,p,z,t:integer;
begin
max:=a[1,1];
for i:=1 to n do
for j:=1 to m do if a[i,j]>max then begin; max:=a[i,j]; u:=i;p:=j; end;
min:=a[1,1];
for i:=1 to n do
for j:=1 to m do if a[i,j]<min then begin; min:=a[i,j];z:=i;t:=j; end;
buf:=a[u,p];
a[u,p]:=a[z,t];
a[z,t]:=buf;
end;

но при компиляции выдает:"Нельзя преобразовать тип array [1..100] of array [1..100] of integer к array [1..100] of array [1..100] of integer"

почему так? типы же одни и те же.. или я просто чтото не так понимаю?

Последний раз редактировалось euroyurich; 12.12.2011 в 21:25.
euroyurich вне форума
Старый 12.12.2011, 21:28   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

сильно не вчитывался, но скорее всего
Код:
type 
 massiv=array[1..100,1..100] of integer;

 procedure exchange(n:integer;m:integer;VAR a:mass iv);
 var i,j,max,min,buf,u,p,z,t:integer;
 begin
 max:=a[1,1];
 for i:=1 to n do
 for j:=1 to m do if a[i,j]>max then begin; max:=a[i,j]; u:=i;p:=j; end;
 min:=a[1,1];
 for i:=1 to n do
 for j:=1 to m do if a[i,j]<min then begin; min:=a[i,j];z:=i;t:=j; end;
 buf:=a[u,p];
 a[u,p]:=a[z,t];
 a[z,t]:=buf;
 end;
И на будущее, старайся пользоваться тэгом [CODE], когда вставляешь текст программы в сообщение.
Все тривиальное просто
whatever вне форума
Старый 12.12.2011, 21:36   #3
euroyurich
Новичок
Джуниор
 
Регистрация: 12.12.2011
Сообщений: 6
По умолчанию

теперь вывел "Неправильный тип параметров подпрограммы"
euroyurich вне форума
Старый 12.12.2011, 21:38   #4
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Что впринципе логично, говорю же, не вчитывался.

У тебя massiv=array[1..100,1..100] of integer;

А переменная a:mass iv. Попробуй пробел убрать.
Все тривиальное просто
whatever вне форума
Старый 12.12.2011, 21:39   #5
euroyurich
Новичок
Джуниор
 
Регистрация: 12.12.2011
Сообщений: 6
По умолчанию

это почему то на форуме пробел вставился, в программе у меня его нет
euroyurich вне форума
Старый 12.12.2011, 21:41   #6
Pyxy
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 39
По умолчанию

помогите пожалуйста
Составить программу вычисления значения выражения k!/m!. Функцию вычисления факториала числа в модуль.
Pyxy вне форума
Старый 12.12.2011, 21:41   #7
Pyxy
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 39
По умолчанию

помогите пожалуйста
Составить программу вычисления значения выражения k!/m!. Функцию вычисления факториала числа в модуль.
Pyxy вне форума
Старый 12.12.2011, 21:49   #8
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

нашел

Код:
type 
 massiv=array[1..100,1..100] of integer;

 procedure exchange(n:integer;m:integer;VAR a:mass iv);
 var i,j,max,min,buf,u,p,z,t:integer;
 begin
 max:=a[1,1];
 for i:=1 to n do
 for j:=1 to m do if a[i,j]>max then begin max:=a[i,j]; u:=i;p:=j; end;
 min:=a[1,1];



 z:=1;
 t:=1;



 for i:=1 to n do
 for j:=1 to m do if a[i,j]<min then begin min:=a[i,j];z:=i;t:=j; end;
 buf:=a[u,p];
 a[u,p]:=a[z,t];
 a[z,t]:=buf;
 end;
и еще после бегинов ";" убрал

P.S. Pyxy, кросавчег, побил все рекорды. Обычные лентяи не хотят писать программы, а суперпродвинутые еще и созадвать отдельные темы :D
Все тривиальное просто

Последний раз редактировалось whatever; 12.12.2011 в 21:53.
whatever вне форума
Старый 12.12.2011, 21:54   #9
euroyurich
Новичок
Джуниор
 
Регистрация: 12.12.2011
Сообщений: 6
По умолчанию

да с бегинами чет лажанулся)
все равно не компилирует( заходит в процедуру и "Неправильный тип параметров подпрограммы" опять
euroyurich вне форума
Старый 12.12.2011, 21:57   #10
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

  type
 massiv=array[1..100,1..100] of integer;

 procedure exchange(n:integer;m:integer;VAR a:massiv);
 var i,j,max,min,buf,u,p,z,t:integer;
 begin
 max:=a[1,1];
 for i:=1 to n do
 for j:=1 to m do if a[i,j]>max then
 begin
 max:=a[i,j]; u:=i;p:=j;
 end;
 min:=a[1,1];
 z:=1;
 t:=1;
 for i:=1 to n do
 for j:=1 to m do if a[i,j]<min then
 begin
  min:=a[i,j];z:=i;t:=j;
  end;
 buf:=a[u,p];
 a[u,p]:=a[z,t];
 a[z,t]:=buf;
 end;

VAR
  m:massiv;
  i,j:integer;
BEGIN
  for i:=1 to 3 do
    begin
    for j:=1 to 3 do
      begin
        m[i,j]:=random(100);
        write(m[i,j],' ');
      end;
    writeln;
    end;

    writeln;
    writeln;

  exchange(3,3,m);
  for i:=1 to 3 do
  begin
    for j:=1 to 3 do
      begin
        write(m[i,j],' ');
      end;
      writeln;
  end;
  readln






END.
Дэлфи 2009. Все работает.
Все тривиальное просто
whatever вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не понимаю, как работает односвязный список yandzee Общие вопросы C/C++ 2 07.12.2010 22:01
почему не работает процедура? MyLastHit Общие вопросы Delphi 5 20.08.2010 22:05
Почему не работает процедура? bingooo Паскаль, Turbo Pascal, PascalABC.NET 1 16.04.2010 13:44
Процедура Window почему-то не работает... Каt Помощь студентам 4 09.12.2009 09:08
почему не работает процедура нажатия клавиши в делфи buka_14 Помощь студентам 3 16.04.2009 17:26