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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2019, 19:36   #1
Annett#
Новичок
Джуниор
 
Регистрация: 11.10.2019
Сообщений: 5
По умолчанию Процедуры, ошибка "Неправильный тип параметров подпрограммы"

Здравствуйте! Моя простенькая программа выдаёт ошибку "Неправильный тип параметров подпрограммы". Скажите, где я что не так ввела? Код:
var x,y,z: integer;
procedure Max3(a,b,c: integer; var max: integer);
begin
if (a>b) and (a>c) then max:=a
else if (b>a) and (b>c) then max:=b
else if (c>a) and (c>b) then max:=c;
end;
Begin
writeln('Введите 3 числа: '); read(x,y,z);
Max3(x,y,z,max);
writeln ('Максимум из трёх: ', max);
end.
Annett# вне форума Ответить с цитированием
Старый 11.10.2019, 19:39   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Max3(x,y,z,max);
max - что это?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.10.2019, 19:42   #3
Annett#
Новичок
Джуниор
 
Регистрация: 11.10.2019
Сообщений: 5
По умолчанию

max - ну как переменная для вывода результата. На лекциях говорят, нужно так писать
Annett# вне форума Ответить с цитированием
Старый 11.10.2019, 19:45   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А, переменная. А где её описание? И в процедуре Max3 - а если, например, a=b?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 11.10.2019 в 19:48.
Аватар вне форума Ответить с цитированием
Старый 11.10.2019, 19:48   #5
Annett#
Новичок
Джуниор
 
Регистрация: 11.10.2019
Сообщений: 5
По умолчанию

Описание в самой процедуре: procedure Max3(a,b,c: integer; var max: integer);
Annett# вне форума Ответить с цитированием
Старый 11.10.2019, 19:50   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Так сама процедура и видит её, больше ни какая часть программы не видит
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 11.10.2019, 19:59   #7
Annett#
Новичок
Джуниор
 
Регистрация: 11.10.2019
Сообщений: 5
По умолчанию

И что мне нужно здесь поменять?
Annett# вне форума Ответить с цитированием
Старый 12.10.2019, 00:00   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

а если так попробовать?
Код:
procedure Max3(a,b,c: integer; var max: integer);
begin
   if (a>b) and (a>c) then max:=a
   else if (b>a) and (b>c) then max:=b
   else max:=c;
end;

var x,y,z, MyMax: integer;
Begin
   writeln('Введите 3 числа: '); read(x,y,z);
   Max3(x,y,z,MyMax);
   writeln ('Максимум из трёх: ', MyMax);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО] ошибка в цикле "repeat.until" Fatal: Syntax error, "UNTIL" expected but "(" found. sashakor22 Lazarus, Free Pascal, CodeTyphon 1 17.02.2019 15:25
При компилировании программы выводит ошибку: "Нет перегруженной подпрограммы с такими типами параметров". Oryn1k Паскаль, Turbo Pascal, PascalABC.NET 7 06.03.2017 16:46
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Неправильный тип параметров подпрограммы split roman0495 Помощь студентам 1 13.10.2015 17:46