Найти минимальное и максимальное
Школьникам и студента, начинающим изучать программирование и язык С++ часто предлагают простенькие задачи в которых требуется найти минимальное число или максимальное в заданном наборе данных. Здесь приведен один из вариантов решения такой задачи, причем сразу на двух языках: С++ и Паскаль для возможности сравнения.
Для решения задачи будем использовать массив, а также циклы. С помощью цикла, вводится требуемое количество чисел в массив. Потом эти числа сравниваются и определяется максимальное и минимальное число. Потом из максимально вычитается минимальное.
Создаём массив для целых чисел. Вводим программно 6 чисел в этот массив. Проверяем на максимальное и минимальное число с помощью условия: если предыдущее число меньше существующего, тогда существующее записывается в max, аналогично наоборот: если существующее меньше предыдущего, тогда существующее записывается в min. Потом вычитаем max от min и получаем разницу.
Для сравнения тем кто хорошо разбирается в Паскале приведем аналогичный код
Дано несколько чисел. Найти разницу между минимальным и максимальным из них.
Создаём массив для целых чисел. Вводим программно 6 чисел в этот массив. Проверяем на максимальное и минимальное число с помощью условия: если предыдущее число меньше существующего, тогда существующее записывается в max, аналогично наоборот: если существующее меньше предыдущего, тогда существующее записывается в min. Потом вычитаем max от min и получаем разницу.
#include#include void main(){ int mas[6] = {1,2,3,-1,-2,-3}; int max = mas[0]; int min = mas[0]; int pozMOtriz = 0; //Ищем max и min for(int i=0;i<6;i++){ if(mas[i] > max)max=mas[i]; if(mas[i] < min)min=mas[i]; } int tmpMin = mas[0]; //Поиск минимального среди отрицательных for(int j=0;j<6;j++){ if(mas[j] < 0){ if(mas[j] < tmpMin ){ tmpMin=mas[j]; pozMOtriz = j; } } } //разность int rz = max-min; printf("raznost\n"); printf("%d",rz); printf("\n"); printf("position(number) min sredi otriz\n"); //вывод позиции(номера) минимального среди отрицательных printf("%d",pozMOtriz); printf("\n"); getch(); }
program minmax;
const n=20;
var A:array[1..n] of real;
max,min:real;
i:byte;
Begin
writeln('vvesty 20 chisel');
for i:=1 to n do
Begin
write('vvedite',i,':');
readln(A[i]);
end;
max:=A[1];
min:=A[i];
for i:=2 to n do
begin
if max<A[i] then
max:=A[i];
if min>A[i] then
min:=A[i];
end;
max:=max-min;
writeln('raznica = ',max:5:3);
readln;
end.