Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Минимальный и максимальный элементы массива

14K
23 октября 2010 года
61201
31 / / 03.05.2007
#include "stdafx.h"
#include <conio.h>

int main()
{
int a[8], b, c;
int i;
int max=0;
int min=0;
for(i=0;i<8; i++)
scanf ("%d",&a);
b=0;
c=0;
for(i=0; i<8; i++)
{
if (i<4)
b=b+a;
else
c=c+a;
}
printf("summa pervih chetireh elementov %d\n", b);
printf("summa poslednih chetireh elementov %d\n", c);
for (i=0; i<8; i++)
{
if (a>max)
max=a;
}
printf ("max = %d\n", max);
for (i=0; i<8; i++)
{
if (a<min)
min=a;
}
printf ("min = %d\n", min);
getch();
return 0;
}

Здравствуйте, есть программа, но скока я не мучаюсь, минимальный элемент у меня 0, и максимальный тоже 0, если вводить только отрицательные числа. Я как понимаю мы ввели их нулями тут - int max=0; int min=0; как сделать так, чтобы минимальные и максимальные элементы вводились не 0, а числа введенные с клавиатуры? Заранее спасибо. Весь инет облазил и всю летературу, что есть перечитал, так и не получилось:confused:
14K
23 октября 2010 года
Fenja
138 / / 20.03.2009
61201, теги [ code] [/ code] используйте.
Цитата:
Весь инет облазил и всю летературу, что есть перечитал, так и не получилось


О_о
После ввода с клавиатуры написать

 
Код:
max = a[0];
    min = a[1];
297
23 октября 2010 года
koodeer
1.2K / / 02.05.2009
61201, давайте переменным осмысленные имена. b и c ни о чём не говорят. Избегайте "магических" чисел. Лучше задать размер массива константой, и везде в коде использовать эту константу.
Немного причешу код.
Код:
#include <conio.h>
#define SIZE 8

int main()
{
    int a[SIZE];
    int sumBegin, sumEnd;
    int max, min;
    int i;

    for(i=0; i<SIZE; ++i)
        scanf("%d", &a);

    sumBegin = 0;
    sumEnd = 0;
    for(i=0; i<4; ++i)
        sumBegin += a;
    for(i=SIZE-4; i<SIZE; ++i)
        sumEnd += a;
    printf("summa pervih chetireh elementov %d\n", sumBegin);
    printf("summa poslednih chetireh elementov %d\n", sumEnd);

    max = a[0];
    min = a[0];
    for (i=1; i<SIZE; ++i)
    {
        if (a > max)
            max = a;
        if (a < min)
            min = a;
    }
    printf ("max = %d\n", max);
    printf ("min = %d\n", min);

    getch();
    return 0;
}

PS за транслит убыв бы!
392
29 октября 2010 года
cronya
421 / / 03.01.2009
Цитата: 61201

Здравствуйте, есть программа, но скока я не мучаюсь, минимальный элемент у меня 0, и максимальный тоже 0, если вводить только отрицательные числа. [COLOR="Red"]Я как понимаю мы ввели их нулями тут - int max=0; int min=0; как сделать так, чтобы минимальные и максимальные элементы вводились не 0, а числа введенные с клавиатуры?[/COLOR] Заранее спасибо. Весь инет облазил и всю летературу, что есть перечитал, так и не получилось:confused:



Написал, что еле-еле понятно стало :D


Лучше работать с индексами, чтобы можно было работать с элементами массива свободно потом(переставлять и тп).

 
Код:
int max = 0, min = 0;
    for (i=0; i<SIZE; ++i)
    {
        if (a > a[max])
            max = i;
        if (a < a[min])
            min = i;
    }
printf ("max = %d\n", a[max]);
printf ("min = %d\n", a[min]);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог