Задача 3. Поиск минимального и максимального элементов массива
Дан вещественный массив: T = {ti}; i= . Поменять местами минимальный и максимальный элементы массива и вывести массив после обмена.
Решение
В этой задаче для осуществления обмена надо знать не только значения минимального и максимального элементов массива, но и их местоположение. Поэтому во время поиска минимального и максимального элементов необходимо фиксировать значения их индексов.
Введем обозначения:
min - минимальный элемент;
imin - индекс минимального элемента;
max - максимальный элемент;
imax - индекс максимального элемента.
Схема алгоритма:
Да |
Вывод Min,imin, Маx, imax |
Конец |
Max=T[i] imax=i |
Нет |
Да |
T[i]>Max |
Нет |
Min=T[i] imin=i |
Min=106 Max=-106 |
i=1,10 |
НАЧАЛО |
T[i]<Min |
Ввод массива Т |
Текст программы:
#include "stdafx.h"
#include<math.h>
int main()
{
float T[10] ; // описание массива Т
int i, imin, imax;
float min, max;
printf("Введите массив Т\n");
for( i = 0;i<10;i++)
scanf("%f",&T[i]);
min =+1E6; //инициализация min очень большим числом
max =-1E6; //инициализация max очень маленьким числом
for( i = 0; i<10; i++) //цикл по всем значения индекса
{
if (T[i]<min)
{
min = T[i];
imin=i; // сохранение номера текущего min
}
if( T[i]>max)
{
max = T[i];
imax = i; // сохранение номера текущего max
}
}
T[imin]=max; //запись max на место min
T[imax]= min; //запись min на место max
for( i= 0; i<10; i++) //вывод массива Т после обмена
printf("%6.2f ",T[i]);
printf("\n");
return 0;
}
Дата добавления: 2015-02-10; просмотров: 801;