Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- //funkcja *dodatnie czyta liczby z klawiatury, dodatnie dodaje do tablicy a z ujemnych liczy srednia
- void czytaj_n(int*n);
- void drukuj_tab(int *t, int n);
- int *dodatnie(int *n, double *srednia_u);
- int main()
- {
- int *tab = NULL, n=0,i;
- double srednia_u=0;
- tab = dodatnie(&n, &srednia_u);
- if (tab == NULL)
- printf("Nie podano dodatnich wartosci\n");
- else
- {
- printf("tablica %i dodatnich wartosci:\n", n);
- drukuj_tab(tab, n);
- }
- if (srednia_u == 0)
- printf("Nie podano ujemnych wartosci\n");
- else
- printf("srednia z ujemnych wartosci wynosi: %lf\n", srednia_u);
- system("pause");
- }
- void czytaj_n(int*n)
- {
- scanf_s("%d", n);
- }
- void drukuj_tab(int *t, int n)
- {
- int i;
- for (i = 0; i<n; i++)
- {
- printf("[%d]=%d\n", i, *(t + i));
- }
- }
- int *dodatnie(int *n, double *srednia_u)
- {
- int *tab = NULL;
- int suma_u = 0;
- int n_u = 0, i = 0;
- int l;
- while (1)
- {
- czytaj_n(&l);
- if (l == 0)
- break;
- else
- if (l > 0)
- {
- (*n)++;
- tab = (int*)realloc(tab, *n * sizeof(int));
- *(tab + *n - 1) = l;
- }
- else
- {
- n_u++;
- suma_u += l;
- }
- }
- if (n_u != 0)
- *srednia_u = (double)suma_u / n_u;
- else *srednia_u = 0;
- return tab;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement