Сделать домашней|Добавить в избранное
 

Сайт, посвящен программированию,
исходникам разных программ и
известным алгоритмам

 
Исходники программ » Языки программирования » C/C++ » Поиск максимального и минимального элемента в массиве в C
на правах рекламы

Поиск максимального и минимального элемента в массиве в C

Автор: admin от 21-03-2012, 09:51

Поставленная задача:
Дан массив из десяти целых чисел. Найти максимальный, минимальный элементы и сумму чисел этого массива..

Словесный алгоритм:
первый этап заполняем массив вручную, с помощью цикла for перебираем все элементы массива и с помощью оператора scanf вводим все элементы массива;
следующий этап - находим сумму, переменную sum обнуляем, затем все 10 чисел суммируем друг с другом sum+=x(i); с помощью цикла for;
последние два этапа - это нахождение максимального и минимального элементов в массиве, оба они находятся подобным образом, сначала принимается минимальным(максимальным) элементом нулевой элемент массива min=x(0), или max=x(0). Если любой элемент меньше минимального, присваиваем ему значение x(i)=min. Или если любой элемент больше максимального, присваиваем ему значение x(i)=max.


Исходный код

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int main ()
{
clrscr ();
int i;
int sum=0,min,max;
int x[10];
//ручное заполнение массива
for (i=0;i<10;i++)
{
printf ("\nx[%d]=",i+1);
scanf("%d",&x<em>);
}
</em>//конец ручного заполнения
//нахождение суммы элементов массива
sum=0;
for(i=0;i<10;i++)
{
sum+=x[i];
}
printf("\nsum=%d",sum); //вывод суммы элементов массива
//нахождение максимального элемента
max=x[0];
for(i=1;i<10;i++)
if (x[i]>max){
max=x[i];
}
printf("\nmax=%d",max);
//нахождение минимального элемента
min=x[0];
for(i=1;i<10;i++)
if(x[i]<min){
min=x[i];
}
printf("\nmin=%d",min);
getch ();
return 0;
}


Теория
Алгоритм поиска наибольшего (наименьшего) элементов массива.
За макс(мин) принимается значение 1-го элемента, затем все элементы просматриваются и сравниваются с макс(мин). Если значение элемента окажется больше, чем значение макс(мин), то оно кладется в ячейку с макс(мин), иначе просматривается следующий элемент.

 

Если вам нравится то, что мы пишем, пожалуйста, нажмите на интересующую вас рекламу сбоку, сверху, или сразу после статьи. Будет стимул писать лучше и чаще. Хорошего вам дня.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий
Цитата
  • Группа: Гости
  • ICQ: --
  • Регистрация: --
  • Комментариев: 0
  • Публикаций: 0
^
Кажется, у вас там ошибка в нахождении максимального и минимального элементов. После if должно стоять (x [ i ] < min) { min = x [ i ] } Аналогично в максимальном элементе.
Цитата
  • admin

  • 21 марта 2017 10:50
  • Группа: Администраторы
  • ICQ: --
  • Регистрация: 9.12.2011
  • Комментариев: 3
  • Публикаций: 60
^
Никита,
спасибо, Никита! Верное исправление. Устранил ошибку. Массив же, конечно x [ i ]