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

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

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

 
 Ответить  Открыть новую тему 
> минимальные элементы массива
Spaun
сообщение 4.06.2008 12:25
Сообщение #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 - 4.06.2008 14:31
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Vinsent90
сообщение 4.06.2008 19:15
Сообщение #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 
 К началу страницы 
+ Ответить 
Spaun
сообщение 4.06.2008 19:38
Сообщение #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 
 К началу страницы 
+ Ответить 
Client
сообщение 4.06.2008 19:45
Сообщение #4


Профи
****

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

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


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


Новичок
*

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

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


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



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


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


Профи
****

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

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


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


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

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

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


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

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


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

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

 



- Текстовая версия 18.07.2025 10:15
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"