БЕСПЛАТНОЕ РЕШЕНИЕ ЗАДАЧ

Найти минимальное и максимальное

Школьникам и студента, начинающим изучать программирование и язык С++ часто предлагают простенькие задачи в которых требуется найти минимальное число или максимальное в заданном наборе данных. Здесь приведен один из вариантов решения такой задачи, причем сразу на двух языках: С++ и Паскаль для возможности сравнения.

Дано несколько чисел. Найти разницу между минимальным и максимальным из них.
Для решения задачи будем использовать массив, а также циклы. С помощью цикла, вводится требуемое количество чисел в массив. Потом эти числа сравниваются и определяется максимальное и минимальное число. Потом из максимально вычитается минимальное.

Создаём массив для целых чисел. Вводим программно 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.

Оставить комментарий

Вы должны быть авторизованы , чтобы оставить или оценить комментарий.

Онлайн всего: 13
Гостей: 13
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте