Аватар для Oxymoron
0 / 0 / 0
Регистрация: 23.10.2008
Сообщений: 23

Присвоения max2:=min и min2:=max

25.10.2008, 05:33. Показов 1925. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что в этом коде:
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
43
44
45
46
47
48
program Kolibabchuk;
uses crt;
var
 i,n,max,min,pmax,pmin,max2,min2: integer;
 a: array [1..100] of integer;
 s:real;
begin
 write('Введите кол-во чисел: ');
 readln(n);   {как вводить числа с дробной частью если i только integer?}
 for i:=1 to n do
 begin
  write('Введите ' ,i, '-ое число: ');
  readln(a[i]);
 end;
 min:=a[1]; pmin:=1;
 max:=a[1]; pmax:=1;
 for i:=1 to n do
 begin
  if a[i]<min then
  begin
   min:=a[i]; pmin:=i;       {запомнили индекс минимума в массиве}
  end;
  if a[i]>max then
  begin
   max:=a[i]; pmax:=i;  {запомнили индекс максимума в массиве}
  end;
 end;
 min2:=max;
 max2:=min;
 for i:=1 to n do
 begin
  if (min2>a[i]) and (i<>pmin) then
   min2:=a[i];
  if (max2<a[i]) and (i<>pmax) then
   max2:=a[i];
 end;
 s:=0;
 for i:=1 to n do
 if (i<>pmin) and (i<>pmax) then
 begin
 s:=s+a[i];
 end;
 writeln('min: ',min);
 writeln('max: ',max);
 writeln('min2: ',min2);
 writeln('max2: ',max2);
 write('среднее арифметическое: ',s/(n-2))   {УРА!!! НАКОНЕЦТО ОНО РАБОТАЕТ!!!}
end.
делают вот эти строки:
Pascal
1
2
 min2:=max;
 max2:=min;
Для чего они нужны, какую функцию выполняют? (без них код неправильно находит min2)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2008, 05:33
Ответы с готовыми решениями:

Процедура: Даны три числа a,b,c. Вычислить (max(a,b)+min(a,c))/(max(b,c)*min(a,b))+max(min(a,b),min(b,c))
Даны три числа a,b,c. Вычислить (max(a,b)+min(a,c))/(max(b,c)*min(a,b))+max(min(a,b),min(b,c)) с помощью использования процедур.

Обчислити min(max2(a, b), c2)
1. Дано x, y, z. Обчислити min(max2(a, b), c2), якщо

Найти max и min элементы в массиве и номер элемента, близкого к среднему арифметическому min и max.
Привет всем! Очень прошу помочь в решении задачи на определение характеристик одномерного массива. Задача такова: Дана последовательность...

3
Почетный модератор
 Аватар для Puporev
64308 / 47605 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
25.10.2008, 16:05
write('Введите кол-во чисел: ');
readln(n); {как вводить числа с дробной частью если i только integer?}
n-количество чисел и оно не может быть с дробью.
for i:=1 to n do
begin
write('Введите ' ,i, '-ое число: ');
readln(a[i]);
Если хочешь вводить вещественные числа, массив a[1..n] должен быть вещественного типа, т.е. не i, а a[i] будет с дробной частью. Вещественные типы real,double,single,extended и др. А i это счетчик чисел, а не вводимое число, и счетчик всегда переменная порядкового типа.
min2:=max;max2:=min;
Вы нашли первые мин и макс. Если бы Вам не надо было их потом помнить, чтобы вывести , можно было бы их и использовать, а поскольку они потом будут меняться, мы присваиваем их значения новым переменным и работанм с ними.
Хотя по моему можно обойтись без них, проверьте вот это:
Code
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
min:=a[1]; pmin:=1;
max:=a[1]; pmax:=1;
for i:=1 to n do
     begin
      if a[i]<min then
        begin
          min:=a[i]; pmin:=i; {запомнили индекс минимума в массиве}
       end;
      if a[i]>max then
        begin
          max:=a[i]; pmax:=i; {запомнили индекс максимума в массиве}
      end;
    end;
writeln('min 1 = ',min:0:2);{если массив будет вещественный}
writeln('max 1 = ',max:0:2);
for i:=1 to n do
   begin
     if (min>a[i]) and (i<>pmin) then
     min:=a[i];
     if (max<a[i]) and (i<>pmax) then
     max:=a[i];
   end;
s:=0;
for i:=1 to n do
if (i<>pmin) and (i<>pmax) then
   begin
      s:=s+a[i];
   end;  
writeln('min 2 = ',min);
writeln('max 2 = ',max);
write('среднее арифметическое: ',s/(n-2)) {УРА!!! НАКОНЕЦТО ОНО РАБОТАЕТ!!!}
end.
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
25.10.2008, 17:24
В таком случае после первого цикла min будет минимумом, max максимумом. Второй цикл ничего меньше и больше уже не найдёт.
0
Почетный модератор
 Аватар для Puporev
64308 / 47605 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
25.10.2008, 17:54
Я что-то с ходу задачу не понял. Тут вроде надо найти вторые макс и мин.
Тогда надо сначала найти мин. Потом найти макс. и элементу с номером рмакс присвоить значение минимума. Снова искать макс. - это будет второй масимальный. Потом тоже самое проделать с мин.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2008, 17:54
Помогаю со студенческими работами здесь

Написать программу, которая вычисляет значение выражения u = max(x,y,z)^2 - min(x,y,z)^2 / (max(x,y,z) + min(x,y,z))^2
Написать программу которая проверяет по заданным трем значениям x,y,z и вычисляет следующее выражение ...

18. Даны различные действительные числа x, y, z, d. Найти max (min (x, y), min (x, z), min (z, d)
Даны различные действительные числа x, y, z, d. Найти max (min (x, y), min (x, z), min (z, d)).

Вычислить Z=(X[max]-Y[min])/2, где Х[max] - максимальный элемент массива Х(50), Y[min] - минимальный элемент массива Y(40)
помогите пожалуйста: Вычислить Z=(X-Y)/2, где Х - максимальный элемент массива Х(50), Y - минимальный элемент массива Y(40). X и Y...

Найти max{min(a,b),min(c,d)}
Program kr_variant1_zadanie2; uses crt; label metka; var a,b,c,d,min1,min2,max:real; Begin clrscr; ...

Вычислить max(min(X,Y), min(Z,D))
Даны действительные числа X,Y,Z,D. Вычислить max(min(X,Y), min(Z,D)). Делает все через if а не через функции. Заранее спасибо...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru