здрасЬте, мне нужна помощь в паскале. есть одна задачка которую я не могу написать. вот условия :
"Дано целое число n>1, за которым следует n вещественных чисел.
Напечатать порядковые номера тех чисел последовательности, которые
имеют наименьшую величину(выбрать для представления данных подходящую списковую структуру)."
список я умею создавать)))
type plist=^tlist;
tlist=record
info:byte;
next: plist;
end;
а как дальше развивать прогу я не знаю..... помогите
програма со списком
Это называется "Найти минимум". Ищем по форуму соответствующие темы
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Хыиуду, для динамических списков возможно, что и не решали еще...
-
- Сообщения: 526
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
Писал на скорую руку. Мне кажется можно попробовать следующее:
[syntax=pascal]
uses crt;
type plist=^tlist;
tlist=record
info:real;
next
list
end;
var top,p
list;
n,er,i,nom:integer;
s:string;
num,min,el:real;
procedure add(x:real);
begin
new(p);
p^.info:=x;
p^.next:=top;
top:=p;
end;
begin
clrscr;
write('Zadaite celoe chislo: ');
readln(n);
add(n);
clrscr;
writeln('Vvodite chilsla. V konce vvedite liubuiu bukvu: ');
i:=0;
repeat
i:=i+1;
readln(s);
val(s,num,er);
if er=0 then add(num);
if (i>1) and (num<=min) then
begin
min:=num;
nom:=i;
end
else if i=1 then
begin
min:=num;
nom:=1;
end;
until er<>0;
writeln('Element: ',min:5:2);
writeln(nom);
readln;
end.
[/syntax]
[syntax=pascal]
uses crt;
type plist=^tlist;
tlist=record
info:real;
next

end;
var top,p

n,er,i,nom:integer;
s:string;
num,min,el:real;
procedure add(x:real);
begin
new(p);
p^.info:=x;
p^.next:=top;
top:=p;
end;
begin
clrscr;
write('Zadaite celoe chislo: ');
readln(n);
add(n);
clrscr;
writeln('Vvodite chilsla. V konce vvedite liubuiu bukvu: ');
i:=0;
repeat
i:=i+1;
readln(s);
val(s,num,er);
if er=0 then add(num);
if (i>1) and (num<=min) then
begin
min:=num;
nom:=i;
end
else if i=1 then
begin
min:=num;
nom:=1;
end;
until er<>0;
writeln('Element: ',min:5:2);
writeln(nom);
readln;
end.
[/syntax]
Нет религии выше истины
dr.Jekill, спасибо даже за это, очень помог... спасибо еще раз!