Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int n=0, i=0, max=0, ilosc=0, nowy=0, j=0, *tab=NULL, *tabnowa=NULL, suma=0;
- double srednia=0;
- printf("podaj rozmiar tablicy: ");
- fflush(stdin);
- scanf("%d", &n); //wczytywanie rozmiaru tablicy
- tab=(int*)realloc(tab,n*sizeof(int)); // rezerwowanie pamięci dla tablicy o podanym rozmiarze
- printf("podaj elementy tablicy: ");
- for(i=0;i<n;i++) //kazdy taki for to przechodzenie przez cala tablice
- {
- scanf("%d",&tab[i]); // wczytywanie danych do tablicy
- }
- printf("\nTablica: \n");
- for(i=0;i<n;i++)
- {
- printf("%d ",tab[i]); // wyswietlanie tablicy
- }
- max=tab[0]; // przypisanie maxa pierwszemu elementowi
- for(i=1;i<n;i++)
- {
- if(tab[i]>max) //sprawdzanie czy istnieje element wiekszy od max
- {
- max=tab[i]; // jesli istnieje to przypisanie maxowi nowej wartosci
- }
- }
- for(i=1;i<n;i++)
- {
- if(tab[i]==max) // zliczanie ilosc maxów
- ilosc=ilosc+1;
- }
- printf("\nmax=%d, ilosc=%d",max,ilosc);
- nowy=n-ilosc; // okreslenie nowego rozmiaru tablicy
- tabnowa=(int*)realloc(tabnowa,nowy*sizeof(int)); // zarezerwowanie pamieci dla nowego rozmiaru
- for(i=0;i<n;i++)
- {
- if(j==nowy) // j to indeksy nowej tablicy, jesli cala sie wypelni to
- break; // stop
- if(tab[i]!=max) // jesli liczba rozna od maxa
- {
- tabnowa[j]=tab[i]; // zapisanie liczby roznej od maxa do nowej tablicy
- suma=suma+tabnowa[j]; // suma liczb roznych od maksa
- j++; // zwiekaszanie ideksow nowej tablicy
- }
- }
- printf("\nTablica po usunieciu max: ");
- for(i=0;i<nowy;i++)
- {
- printf("%d ",tabnowa[i]); //wypisywanie elementow nowej tablicy
- }
- srednia=(double)suma/nowy; // obliczanie sredniej, (double)- bo srednia nie jest liczba calkowita
- printf("\nSrednia: %lf",srednia); // wysieetlenie sredniej
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement