Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C] Среднее арифметическое чисел


Автор: kasir 10.12.2006, 23:45
Даны натуральные числа i, n. Действительные числа а1, ... , аn (i<=n). Найти среднее арифметическое всех чисел a1 , ... , аn, кроме ai.

Писал писал, но так и не получилось чтоб убирал ai, кстати написать нужно на turbo c.

Автор: Гениальный123Робот 10.12.2006, 23:50
То есть это число попадает в тот эже интервал и его надо как-то не учитывать при вычислении СА? 

Автор: Rockie 11.12.2006, 02:39
Цитата(Гениальный123Робот @  10.12.2006,  23:50 Найти цитируемый пост)
То есть это число попадает в тот эже интервал и его надо как-то не учитывать при вычислении СА? 

ага, пропустить
Код
#include<stdio.h>
#include<conio.h>

#define n 10

int main(){
 int array[n] = {2,3,4,5,2,3,6,7,8,0};
 int j, i = 3;
 float simple_average = 0;

 for(j=0;j<n;j++)
  { if(j!=i-1) simple_average+=array[j];
  }

 printf( "%f",simple_average/(n-1) );

 getch();
 return 0;
}

Автор: kasir 11.12.2006, 10:13
i и n, надо вводить самому как и a1,a2,a3 и так  до an.

Автор: Dov 11.12.2006, 10:28
kasir, ты до сих пор сам вводить не научился?  smile 

Автор: Oleg_Ci 11.12.2006, 17:35
Код

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{ 
    int n, i, j;
    printf("n = ");    scanf("%d", &n );
    printf("i = ");    scanf("%d", &i );
    int * array = (int*)calloc( n, sizeof(int));
    printf("Enter %d number: \n", n );
    for( j=0; j<n; j++ )
        scanf( "%d", &array[j] );

    float simple_average = 0;

    for(j=0;j<n;j++){ 
        if(j!=i-1) simple_average+=array[j];
    }

    printf( "%f",simple_average/(n-1) );
    free( array );
    puts("\n\nPress the key ENTER for the program exit");
    fflush( stdin );
    getchar(); // пауза
    return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)