Найти минимальное и максимальное
Школьникам и студента, начинающим изучать программирование и язык С++ часто предлагают простенькие задачи в которых требуется найти минимальное число или максимальное в заданном наборе данных. Здесь приведен один из вариантов решения такой задачи, причем сразу на двух языках: С++ и Паскаль для возможности сравнения.
Для решения задачи будем использовать массив, а также циклы. С помощью цикла, вводится требуемое количество чисел в массив. Потом эти числа сравниваются и определяется максимальное и минимальное число. Потом из максимально вычитается минимальное.
Создаём массив для целых чисел. Вводим программно 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.