Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/34: Рейтинг темы: голосов - 34, средняя оценка - 4.65
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507

2 минимума массива

17.11.2009, 01:50. Показов 6341. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые программисты!,помогите, пожалуйста, з задачей,срочно нужно...я уже просил об этом в предыдущей теме ,но никто так и робочего кода не выложил.
Задача такая : найти 2 минимума в массиве А с N элементов.(Пример в массиве А(-1,4,0,3,12,6) - это будут -1 и 0)
вот мой код :

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program n20;
var
a:array[1..100] of integer;
i,min1,min2,n:integer;
begin
writeln('vvedit rozmir massiva');
readln(n);
randomize;
writeln('massiv');
for i:=1 to n do begin
a[i]:=random(100)-50;
write(a[i],' ');
end;
writeln;
min1:=a[1];
for i:=n downto 2 do
if (min1>a[i]) xor (min1=min2) then begin
min2:=min1;
min1:=a[i];
end;
writeln('1 minimalnyj element ',min1);
writeln('2 minimalnyj element ',min2);
end.
но цикл обработывает только те элементы,которые правее 1 максимуму,то есть если 2 максимум по индексу левее 1 максимума,оно эго не выводит
помогите переделать алгоритм ,или если ошибки критичны сделать иный,буду очень признателен.

Добавлено через 2 минуты
п.с если цикл for i:=n downto do 1 заменить на for i:=1 to n do ,то цикл будет проходить только элементы до 1 максимума
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.11.2009, 01:50
Ответы с готовыми решениями:

Найти среднее арифметическое Sr максимума и минимума массива.
Ввести одномерный массив А , вывести его. Найти среднее арифметическое Sr максимума и минимума массива. Далее возвести в квадрат все...

Найти сумму максимума среди чётных и минимума среди нечётных элементов массива
1. Дан одномерный массив. Найти сумму максимума среди чётных и минимума среди нечётных. 2. Дана последовательность из n целых чисел....

Поиск минимума
1. Пользователь вводит число целое неотрицательное число n (не превосходящее 100), а затем он вводит n целых чисел. найдите минимальное...

13
localhost
 Аватар для Wassago
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
17.11.2009, 02:07
М.б. так:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
var a:array[1..100] of integer;
    i,min1,min2,n:integer;
 
begin
 
  writeln('vvedit rozmir massiva');
  readln(n);
  randomize;
  writeln('massiv');
  for i:=1 to n do
   begin
     a[i]:=random(100)-50;
     write(a[i],' ');
   end;
 
  writeln;
  min2:=0;
  for i:=1 to n do
   begin
    if a[i]>min2 then
     min2:=a[i];
   end;
  for i:=1 to n do
   begin
    if a[i]<min1 then
     begin
      min1:=a[i];
     end;
    if (a[i]<min2) and (a[i]>0) then
     min2:=a[i];
   end;
   
writeln('1 минимальное  отрицательное ',min1);
  writeln('2 минимальное положительное ',min2);
end.
1
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507
17.11.2009, 02:10  [ТС]
нет (
vvedit rozmir massiva
10
massiv
-21 0 -7 46 25 11 -30 -10 -12 -25
1 minimalnyj element -30
2 minimalnyj element 11

у меня хоть выводило 2 максимум правильно в определенном условии,но всёравно спасибо !
0
localhost
 Аватар для Wassago
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
17.11.2009, 02:12
я навер не правильно понял,привиди еще 1 пример как должно быть !
на это:
vvedit rozmir massiva
10
massiv
-21 0 -7 46 25 11 -30 -10 -12 -25
1 minimalnyj element -30
2 minimalnyj element 11
1
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507
17.11.2009, 02:17  [ТС]
-5 19 -10 13 31 39 11 -3 21 39
1 minimalnyj element -10
2 minimalnyj element 11

так всмысле 1 элемент правильно ищет,а второй в этом случае должен быть -5

Добавлено через 2 минуты
а должно быть
-5 19 -10 13 31 39 11 -3 21 39
1 minimalnyj element -10
2 minimalnyj element -5 !!!!!!!!!!!!!!!!!!!!!!!!!!!

))
0
localhost
 Аватар для Wassago
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
17.11.2009, 02:37
Перенести его на a:[1],и следующий цикл for начать с i:=2...

Добавлено через 23 секунды
шас попробую сделать

Добавлено через 13 минут
Так: ?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
var a:array[1..100] of integer;
    i,min1,min2,n,k:integer;
 
begin
 
  writeln('vvedit rozmir massiva');
  readln(n);
  randomize;
  writeln('massiv');
  for i:=1 to n do
   begin
     a[i]:=random(100)-50;
     write(a[i],' ');
   end;
 
  writeln;
  min2:=0;
  for i:=1 to n do
   begin
    if a[i]>min2 then
     min2:=a[i];
   end;
  for i:=1 to n do
   begin
    if a[i]<min1 then
     begin
      min1:=a[i];
 
     k:=a[1]; a[1]:=min1; a[i]:=k;
     end;
    end;
    
     for i:=2 to n do
      begin
       if a[i]<min2 then
       min2:=a[i];
      end;
       
 
writeln('1 минимальный ',min1);
  writeln('2 минимальный ',min2);
end.
1
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507
17.11.2009, 02:48  [ТС]
о спасиба тебе большое именно так просто и понятно а теперь смотри как я сделал,конечно алгоритм кривой но я сам его сделал )))

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
program n20;
var
a:array[1..100] of integer;
i,min1,c,d,min2,n:integer;
begin
writeln('vvedit rozmir massiva');
readln(n);
randomize;
writeln('massiv');
for i:=1 to n do begin
a[i]:=random(100)-40;
write(a[i],' ');
end;
writeln;
min1:=a[1];
for i:=1 to n do
if min1>a[i] then min1:=a[i];
min2:=min1;
for i:=1 to n do
if (min2>a[i]) xor (min2=min1) then min2:=a[i];
c:=min2;
for i:=n downto 1 do
if (min2>a[i]) xor (min2=min1) then min2:=a[i];
d:=min2;
writeln('1 minimalnyj element ',min1);
if c<d then
writeln('2 minimalnyj element ',c);
if d<c then
writeln('2 minimalnyj element ',d);
end.
0
localhost
 Аватар для Wassago
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
17.11.2009, 02:52
pikusfikus, Главное результат
1
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507
17.11.2009, 02:54  [ТС]
только объясни,пожалуйста, зачем ты ввел переменною k ?ти же ее нигде не использовал
0
localhost
 Аватар для Wassago
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
17.11.2009, 02:54
Цитата Сообщение от Wassago Посмотреть сообщение
k:=a[1]; a[1]:=min1; a[i]:=k;
для замены
0
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507
17.11.2009, 02:57  [ТС]
аахах ну да главное,только не тогда когда задачае превишет 64кб

Добавлено через 1 минуту
Цитата Сообщение от Wassago Посмотреть сообщение
для замены
о дейстивтельно )я просто с массивами розбираюся толька 3 дня,еше толком не понял ))а ведь это только сегодня читал

Добавлено через 39 секунд
еше раз тебе большое спасибо)
0
localhost
 Аватар для Wassago
58 / 58 / 9
Регистрация: 02.09.2009
Сообщений: 170
17.11.2009, 03:00
Цитата Сообщение от pikusfikus Посмотреть сообщение
аахах ну да главное,только не тогда когда задачае превишет 64кб
pikusfikus, я ее для примера втык,можешь ее так:
k:byte;
много меньше будет весит)
1
175 / 172 / 40
Регистрация: 14.11.2009
Сообщений: 507
17.11.2009, 03:02  [ТС]
ахаха да это уже формальность ))
0
0 / 0 / 0
Регистрация: 15.03.2021
Сообщений: 2
14.11.2022, 11:40
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program zadacha1;
const n = 6;
var a: array[1..n] of integer; 
i, min, min1:integer;
begin
for i:=1 to n do begin
  readln(a[i]);
  end;
  
  min := a[1];
  min1 := a[1];
  
  for i := 2 to n do begin
  if min > a[i] then min := a[i];
  if (min1 <= min) and (a[i] > min) then min1 := a[i]; 
  end;
  
    writeln; writeln('Мин.элемент массива №1: ', min);
    writeln('Мин.элемент массива №2: ', min1)
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2022, 11:40
Помогаю со студенческими работами здесь

Определение минимума функции
Составить подпрограмму определения минимума функции y=f(x), заданной в дискретных точках отрезка с постоянным шагом h. Используя её найти...

нахождение максимума и минимума.
здравствуйте!помогите пожалуйста найти ошибку в решении задачи. дан файл,содержащий числа.Найти в нем минимальное и максимальное число и...

Поиск минимума/максимума и их индексов:
var a:arrayof integer; N,i,min,max:integer; begin write('N -&gt; '); readln(N); {считываем размер массива} write('Input array...

Смена максимума и минимума в массиве
Здравствуйте!!! Задан массив, найти максимум и минимум и поменять их местами. Код программы... Заранее спасибо!!! Добавлено через 2...

Сортировка по возрастанию методом выбора минимума
Помогите сделать. Сортировка по возрастанию методом выбора минимума. Сортируемый фрагмент матрицы на рисунке. Сделать с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru