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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2012, 21:32   #1
Eithate
 
Регистрация: 29.11.2012
Сообщений: 7
По умолчанию Написать задачу на Pascal

Пожалуйста, помогите

Нахождение разности максимального и минимального значений в
последовательности вводимых чисел. Остановить обработку при вводе заказанного
количества чисел. Тип обработки данных-целые.

Pascal!

Последний раз редактировалось Eithate; 29.11.2012 в 21:37.
Eithate вне форума Ответить с цитированием
Старый 29.11.2012, 21:56   #2
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

Если без наработок своих то во фриланс, за определенную плату сделают -)
maLoy*508 вне форума Ответить с цитированием
Старый 29.11.2012, 21:59   #3
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

Код:
Const n = 3; //Остановить обработку при вводе заказанного количества чисел. 
Var 
    a: array [1..n] of integer;
    i, max, min: integer;
begin
for i:= 1 to n do
begin
writeln('a[',i,'] = ');
readln(a[i]);
if a[i] > max then max:= a[i];
end;
min:= max;
for i:= 1 to n do 
if a[i] < min then min:= a[i];
writeln(max-min);
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 29.11.2012 в 22:16.
NewLamer&Programer вне форума Ответить с цитированием
Старый 29.11.2012, 22:20   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

NewLamer&Programer, во-первых, в коде ошибка, нужно обязательно иницилизировать переменную перед её использованием (у Вас max ничем не иницилизируется!)

во-вторых, задачи поиска минимума-максимума вполне решаются за один проход.
и без массива тут вполне можно обойтись.

Ну а так, попытка решения нормальная, в качестве предварительной версии вполне годится!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.11.2012, 22:22   #5
Eithate
 
Регистрация: 29.11.2012
Сообщений: 7
По умолчанию

спасибо
Eithate вне форума Ответить с цитированием
Старый 29.11.2012, 22:23   #6
Eithate
 
Регистрация: 29.11.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
NewLamer&Programer, во-первых, в коде ошибка, нужно обязательно иницилизировать переменную перед её использованием (у Вас max ничем не иницилизируется!)

во-вторых, задачи поиска минимума-максимума вполне решаются за один проход.
и без массива тут вполне можно обойтись.

Ну а так, попытка решения нормальная, в качестве предварительной версии вполне годится!
подскажите, как решить локаничнее через repeat,while
Eithate вне форума Ответить с цитированием
Старый 29.11.2012, 22:30   #7
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
NewLamer&Programer, во-первых, в коде ошибка, нужно обязательно иницилизировать переменную перед её использованием (у Вас max ничем не иницилизируется!)

во-вторых, задачи поиска минимума-максимума вполне решаются за один проход.
и без массива тут вполне можно обойтись.

Ну а так, попытка решения нормальная, в качестве предварительной версии вполне годится!
1. компилятором ошибок не выдает, всем переменным по дефолту присвоен 0, так что никогда не видел необходимости в их инициализации...
2. у меня получилось за 2 прохода, решишь лучше возьми с полки пирожок... массив лишний, согласен, просто последовательность чисел как то красивее смотрится массивом...
NewLamer&Programer вне форума Ответить с цитированием
Старый 29.11.2012, 23:12   #8
kventin_zhuk
БНТУ ФИТР
Форумчанин
 
Аватар для kventin_zhuk
 
Регистрация: 20.05.2012
Сообщений: 315
По умолчанию

Цитата:
Сообщение от Eithate Посмотреть сообщение
подскажите, как решить локаничнее через repeat,while
Ну может так, всё в один цикл запихнуть?
Код:
program a4;
uses
  crt;
Const n = 3;
Var
    a: array [1..n] of integer;
    i, max, min: integer;
begin
i := 1;
while (i <=  n) do
begin
  write('a[',i,'] = ');
  read(a[i]);
  if i = 1 then
  begin
    min := a[i];
    max := a[i];
  end;
  if a[i] < min then
    min := a[i];
  if a[i] > max then
  max := a[i];
  inc (i);
end;
writeln(max - min);
end.
С++(console/builder/WinAPI/Linux), C#, Pascal, Delphi, Asm, Prolog.
< ----- Контакты
kventin_zhuk@live.com
kventin_zhuk вне форума Ответить с цитированием
Старый 30.11.2012, 00:13   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от ewLamer&Programer
омпилятором ошибок не выдает,
о! Далеко не всё, что компилируется, является правильным кодом!

Цитата:
Сообщение от ewLamer&Programer
всем переменным по дефолту присвоен 0,
не всегда и не везде (даже в Паскале это не всегда так (могу привести пример отсутствия подобной иницилизации, если есть желание увидеть такое..).

Но, даже если на это внимания не обращать, то всё равно Ваш код будет работать криво.
Например, введите, три числа:
-50 -20 -30
и посмотрите, какой максимум выдаст ваша программа...


kventin_zhuk, вот, нормально. Зачёт!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать Задачу на языке C * Zctpaxz Помощь студентам 3 01.11.2012 18:18
написать задачу на паскале! roman zubanov Помощь студентам 0 06.04.2012 14:39
Написать задачу в C++ builder sky1212 Общие вопросы C/C++ 7 25.05.2011 06:51
не могу написать задачу denis273 Паскаль, Turbo Pascal, PascalABC.NET 3 17.03.2011 21:40
Помогите написать задачу Crazy biker Помощь студентам 3 27.06.2008 15:43