#include #include #include float suma(float tab[], int dlugosc) { int i = 0, s = 0; for (i = 0; i < dlugosc; i++) s += tab[i]; return s; } float sredniaA(float tab[], int dlugosc) { int i = 0, s = 0, sr; for (i = 0; i < dlugosc; i++) s += tab[i]; sr = s / (i + 1); return sr; } float sredniaG(float tab[], int dlugosc) { int i = 0; float sr; long long int s = 1.0; for (i = 0; i < dlugosc; i++) s = s * tab[i]; sr = pow(s, (1.0 / (i + 1))); return sr; } int main() { int i = 0, rozmiar = 4, wpisane = 0; float *tablica, a; tablica = (float*)malloc(rozmiar * sizeof(*tablica)); tablica[0] = 0.1; FILE* f = fopen("dane.txt", "r"); if (f == NULL) printf("Problem z plikiem"); else { if (wpisane != rozmiar) { while (!feof(f)) { if (i == 0) { fscanf(f, "%f", &a); tablica[i] = a; i++; } else { fscanf(f, "%f", &a); tablica[i] = a; i++; } } } else { float* tablica2 = (float*)malloc(2 * rozmiar * sizeof(*tablica)); rozmiar = 2 * rozmiar; int j; for (j = 0; j < i; j++) tablica2[j] = tablica[j]; free(tablica); tablica = tablica2; i--; tablica[i] = a; i++; wpisane++; } } int j = 0; for (j = 0; j < i - 1; j++) printf("%.3f\n", tablica[j]); printf("%.3f\n", suma(tablica, (i))); printf("%.3f\n", sredniaA(tablica, (i))); printf("%.3f\n", sredniaG(tablica, (i))); return 0; }