IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> минимальные элементы массива
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской

Репутация: -  0  +


Подскажите пожалуйста, как со всего масива вывести 2 минимальных значения при условии того что значения задаются рэндомом
ЗЫ да забыл при этом их не сортируя. Заранее очень благодарен.
 
Program nomer1;
const N=10;
var
mas:array[1..N]of integer;
i,min: integer;
begin
randomize;
for i:=1 to N do
begin
mas[i]:=random(108)+1900;
write(mas[i], '|');
end;
writeln;
min:=mas[i];
for i:=2 to N do
if mas[i] < min then
begin
min:= mas [i];
writeln (min)
end;
end.


вроде так но чегото не получается.... помогите..

Сообщение отредактировано: Spaun -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 13
Пол: Мужской

Репутация: -  0  +


Может так smile.gif
Program nomer1;
uses crt;
const N=10;
var
mas:array[1..N] of integer;
i,min1,min2: integer;
begin
randomize;
for i:=1 to N do
begin
mas[i]:=random(108)+1900;
write(mas[i], '|');
end;
writeln;
min1:=mas[i];
for i:=1 to N do
if mas[i] < min1 then
begin
min1:= mas [i];
end;
min2:=mas[i];
for i:=1 to N do
if (mas[i]<min2) and (mas[i] >min1) then
begin
min2:= mas [i];
end;
writeln ('min1 = ',min1);
writeln ('min2 = ',min2);
readkey;
clrscr;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской

Репутация: -  0  +


Цитата(Vinsent90)
Может так smile.gif

да возможно но программа зацикливается...
спасибо что ответил но я уже нашел другой способ:

Program nomer1;
uses crt;
const N=10;
var
mas:array[1..N]of integer;
i,min,j,k,rab: integer;
begin
randomize;
for i:=1 to N do
begin
mas[i]:=random(108)+1900;
end;for i:=1 to n do
write (mas[i], '|');
for j:=1 to n-1 do
for i:=1 to n-1 do
if mas[i]>mas[i+1] then
begin
rab:=mas[i+1];
mas[i+1]:=mas[i];
mas[i]:=rab;
for k:=1 to n do
end;
writeln;
writeln ('1 ', mas[1]);
writeln ('2 ', mas[2]);
end.


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Цитата
да возможно но программа зацикливается...
Интересно... Покажи на каком примере зацикливается
Цитата
при этом их не сортируя
if mas[i]>mas[i+1] then... // а вот тут что?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской

Репутация: -  0  +


За
Цитата
без сортировки
извиняюсь.
То что прога зацикливается это факт... могу скинуть фото.
а в том варианте что предложил Vinsent90 не всегда точно выводиться значение... есть фото...



Сообщение отредактировано: Spaun -


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Цитата
могу скинуть фото
Давай
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(Spaun @ 4.06.2008 19:58) *
То что прога зацикливается это факт... могу скинуть фото.
а в том варианте что предложил Vinsent90 не всегда точно выводиться значение... есть фото...
Ну.. зацикливание это приувеличинно.. Есть readkey, а как с ним поступать в ABC и как осуществляется операция ввода я не знаю, и эти вопросы сдесь, как я понимаю, не обсуждаются.. Просто убери его... Насчет ошибок в нахождении минимума, есть такой грешок, все кроется в троке min2:=mas[i]; , где присваивание происходит без проверки.. Да и вообще вышеупомянутая строка может начудить и не такое с НЕинициализированым i.
и еще, говорят, не плохо приводить тип результата от random

Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 14:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name