Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2019, 20:17   #1
verybadproger
Новичок
Джуниор
 
Регистрация: 02.11.2019
Сообщений: 2
По умолчанию Вывод максимального , минимального элемента , среднего значение элементов си через функции

нужно исправить , требуется вывести максимальный и минимальный элемент массива используя функции , а так же вывести среднее значение спасибо огромное заранее P.S Работает только с максимальным , выводит масси верно а минимальное и среднее неверно
Код:
#define _CRT_SECURE_NO_WARNINGS 
 
 
#include <stdio.h>
#include <math.h> 
#include <locale.h>
int n;
int a[150];
int i;
int max = -10000;
int min = 10000;
double sum = 0;
 
double srznach(int n4, int*d)
{
    for (int i = 0; i < n; i++)
    {
        sum = sum + d[i];
    }
    return sum / n;
}
int max1(int n3, int* c)
{
    for (i = 0; i < n; i++)
    {
        if (c[i] > max)
            max = c[i];
    }
    return max;
}
int min1(int n4, int*b)
{
    for (i = 0; i < n4; i++)
    {
        if (b[i] < min);
        min = b[i];
    }
    return min;
}
void vivod(int n2, int* a)
{
    for (i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    
}
void vvod(int n1, int* a)
{
    printf("Введите %d  целых чисел\n", n1);
    for (i = 0; i < n; ++i)
    {
        printf("Число %d =", i + 1);
        scanf("%d", &a[i]);
        printf("\n");
        if (i + 1 == n)
        {
            printf("Ввод завершен!  Для продолжения нажмите ENTER\n");
        }
    }
    vivod(n1, a);
}
int main()
{
    setlocale(LC_ALL, "Rus");
    printf("Введите количество целых чисел N=\n");
    scanf("%d", &n);
    vvod(n, a);
    printf("%d ffff \n", max1(n, a));
    printf("%d\n", min1(n, a));
    printf("%d", srznach(n, a));
}
verybadproger вне форума Ответить с цитированием
Старый 02.11.2019, 22:01   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

1.Я не вижу здесь присваивания начальных значений ни среднему знач., ни макс., ни мин.
По-моему, использовать в качестве начальных значений переменных инициализационные, получаемые при загрузке - не совсем правильный метод. А если понадобится вызвать подпрограмму повторно? Подготовка начального значения или обнуление сумматора д.быть в самой подпрограмме перед циклом. И откуда известно, что в массиве значения не будут < -10000 или >10000 ? Обычно чтобы не париться бесконечно малыми/большими в макс. и мин. закидывают значение 0-го элемента массива, а цикл крутят от 1.
Если не считать вышесказанного, вроде и среднее, и мин. должны работать.
2. Почему в min1 цикл до n4, в max1, srznach - до n ? На результат не повлияет, но это как-то через-#oпно - в двух случях конечное значение параметра цикла - глобальная переменная, и первый параметр (n3,n4) вообще не используется, в третьем - как надо.
3. Зачем в vvod эта строка
Код:
  if (i + 1 == n)
? Просто printf нужно вынести за цикл.
Жаль, Си у меня на компе нету, проверить не могу.
Вообще реализацию хорошо бы включить в FAQ "Примеры криво написанных программ. Как не надо писать".

Последний раз редактировалось digitalis; 03.11.2019 в 21:22.
digitalis на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
массив А[N] из элементов типа short integer (целое восьмиразрядное со знаком). Составить программу нахождения максимального и минимального элемента. Mikki_mini Помощь студентам 3 11.12.2016 10:32
PASCAL Определить порядковый номер и значение максимального элемента массива n элементов Наталья18) Помощь студентам 2 22.12.2015 09:14
поиск минимального и максимального элемента apelsun Общие вопросы Delphi 3 10.11.2012 00:09
Сортировка в Listbox с выводом среднего, максимального и минимального значений.... Klim Bassenger Microsoft Office Excel 18 09.01.2010 21:33
Вывод максимального, минимального и среднего значение по Listbox Klim Bassenger Microsoft Office Excel 3 29.06.2009 18:38