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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2011, 23:38   #1
Ulq
Пользователь
 
Аватар для Ulq
 
Регистрация: 17.08.2011
Сообщений: 14
По умолчанию Массивы

Всем привет! Нужна помощь... Программа, которая определяет минимальное число в массиве, цифры задаем с клавиатуры. Вот код:
Код:
uses crt;
const k=3;
var
a: array[1..k] of integer;
i,d,c,l:integer;

BEGIN
clrscr;

c:=maxint;
for i:=1 to k do
begin
Write('--->'); readln(a[i]);
for l:=1 to  1 do
begin
if a[i]<c then c:=a[i];
end;
end;

 writeln(c);
readln;
END.
Тут все получается, но объясните пжл.,почему когда я c:=0, то у меня не работает так, как нужно.

P.S. Если можно, напишите плиз альтернативный вариант, ток без "Function" и "Procedure" их я еще не учил)
Ulq вне форума Ответить с цитированием
Старый 25.08.2011, 03:35   #2
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

минимум лучше привоить первому элементу массива с сравнивать уже с ним

с 0 не работает так как не существует положительных чисел меньших 0

Код:
uses crt;
const k=3;
var
a: array[1..k] of integer;
i,d,c:integer;
BEGIN
Write('--->');readln(a[1]);
c:=a[1];
if k>1 then 
begin
 for i:=2 to k do
 begin
  Write('--->'); readln(a[i]);
  if a[i]<c then c:=a[i];
 end;
end;
writeln(c);
readln;
END.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 25.08.2011, 10:41   #3
Ulq
Пользователь
 
Аватар для Ulq
 
Регистрация: 17.08.2011
Сообщений: 14
По умолчанию

Слушайте, а зачем писать "if k>1" это для чего?
Спасибо за объяснение и код)
Ulq вне форума Ответить с цитированием
Старый 25.08.2011, 11:00   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Слушайте, а зачем писать "if k>1" это для чего?
позволю себе ответь за challengerr.

в данном случае, так как после идёт цикл for i:=2 to k do,
то эту проверку можно смело отбросить - она избыточна.

А вообще, константа, в которой задаётся количество элементов в массиве k может быть установлена программистом равной 1 (единице), тогда цикл по вводу 2-го и последующих элементов массива (при k=1) не имеет смысла...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
указатели на массивы и массивы указателей blacktener Общие вопросы C/C++ 16 13.06.2011 20:45
Массивы Kati Помощь студентам 5 20.10.2010 22:05
Динамические массивы и массивы варианты N@stya Помощь студентам 0 11.06.2010 21:09
С++, Массивы, динамические массивы. -Sunshine- Помощь студентам 1 19.04.2010 02:17
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12