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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2016, 19:01   #1
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию Как написать программу через функцию? Си

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>

Код:
int main()
{
    int *a, i;
    double sum = 0, arithmeticAverage = 0;
    int size = 0;
    printf("Enter the array size:");
    scanf("%d", &size);
 
    a = malloc(size * sizeof(int));
    printf("The given array:\n");
    for (i = 0; i < size; i++) {
        scanf("%d", &a[i]);
        sum += a[i];
    }
    arithmeticAverage = sum / size;
    printf("\nThe arithmetic average is: %.0f:\n", arithmeticAverage);
    printf("Array after the transformation:\n");
    for (i = 0; i < size; i++) {
        if (a[i] > arithmeticAverage)
            a[i] = 0;
        printf("%3d ", a[i]);
    }
    printf("\n");
 
    return 0;
}

Последний раз редактировалось Вадим Мошев; 01.11.2016 в 23:39.
Кристина1998 вне форума Ответить с цитированием
Старый 01.11.2016, 19:49   #2
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Странное выделение памяти у тебя; вот пример:

7.jpg

Не понятно что тебе надо, но я бы так сделал:

8.jpg
ura_111 вне форума Ответить с цитированием
Старый 01.11.2016, 19:52   #3
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию

Не понятно что тебе надо, но я бы так сделал:

Вложение 84306[/QUOTE]
Мне надо:Написать функцию, которая в массиве вещественных чисел обнуляет все элементы, которые больше среднего арифметического значения элементов исходного массива.
Кристина1998 вне форума Ответить с цитированием
Старый 01.11.2016, 19:54   #4
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию

И мне нельзя использовать другие библиотеки, кроме stdio.h
Кристина1998 вне форума Ответить с цитированием
Старый 01.11.2016, 19:56   #5
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Ну попробуй с одним заголовочным файлом (у меня выводило ошибку).
ura_111 вне форума Ответить с цитированием
Старый 01.11.2016, 20:01   #6
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Тогда не имеешь право пользоваться динамической распределением памяти:

9.jpg


Используй статический массив.
ura_111 вне форума Ответить с цитированием
Старый 01.11.2016, 20:12   #7
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию

У меня средне арифметическое не выводит?
Кристина1998 вне форума Ответить с цитированием
Старый 01.11.2016, 20:13   #8
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Покажи код.
ura_111 вне форума Ответить с цитированием
Старый 01.11.2016, 20:21   #9
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию

#include <stdio.h>
#include <stdlib.h>
int funct(int *a, int sum, int size)
{
int i;
double arithmeticAverage = 0;
double arithmeticAverage = sum / size;
printf("The arithmeticAverage average is:\n", arithmeticAverage);
printf("Array after the transformation:\n");
for (i = 0; i < size; i++){
if (a[i]>arithmeticAverage)
a[i] = 0;
printf("%d", a[i]);
}
printf("\n");
return 0;
}
int main()
{
int *a, i;
double sum = 0;
int size = 0;
printf("Enter the array size");
scanf_s("%d", &size);

a = (int*)malloc(size*sizeof(int));
printf("The given array");
for (i = 0; i < size; i++){
scanf_s("%d", &a[i]);
sum += a[i];
}
funct(a, sum, size);
free(a);
return 0;
}
Кристина1998 вне форума Ответить с цитированием
Старый 01.11.2016, 20:23   #10
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Уже вижу 2-а раза переопределение arithmeticAverage.
ura_111 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать функцию «Факториал» и программу, использующую эту функцию для вывода таблицы факториалов. Rufer Помощь студентам 1 20.06.2016 12:53
написать программу массивы (C++) - Написать функцию выводящую на экран указанную часть таблицы умножения Саша1990 Помощь студентам 1 02.02.2015 08:01
Помогите, как написать программу через макросы 5Настёна Помощь студентам 2 04.12.2013 18:31
как написать через юнит программу Вовик-вовик Помощь студентам 2 13.01.2012 08:07
как прогу написать через функцию zdanilv Visual C++ 3 25.04.2011 22:15