Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void czytaj_n (int *n);
- void czytaj_tab (int *tab,int n);
- void drukuj_tab(int *tab,int n);
- int maksimum (int *tab,int n);
- int minimum (int *tab,int n);
- double srednia (int *tab,int n);
- int *czytaj_do_0 (int *n);
- int dlugosc(int *tab);
- int main()
- {
- int *t=NULL,n=0,m;
- double sr;
- char z;
- for(;;)
- {
- printf("Wybierz dzialanie\n");
- fflush(stdin);
- scanf("%c",&z);
- switch (z)
- {
- case 'c':
- printf("Podaj ilosc elementow tablicy:\n");
- czytaj_n(&n);
- t=(int*)malloc(n*sizeof(int));
- printf("Podaj elementy tablicy:\n");
- czytaj_tab(t,n);
- break;
- case 'd':
- drukuj_tab(t,n);
- break;
- case 'm':
- if (!dlugosc(t))
- break;
- printf("Maksimum z tablicy:\n%d\n",maksimum(t,n));
- break;
- case 'n':
- printf("Minimum z tablicy:\n%d\n",minimum(t,n));
- break;
- case 's':
- printf("Srednia z tablicy:\n%lf\n",srednia(t,n));
- break;
- case 'x':
- t=czytaj_do_0(&n);
- break;
- case 'q':
- printf("Koniec programu\n");
- free (t);
- return 0;
- default:
- break;
- }
- }
- }
- void czytaj_n (int *n)
- {
- do
- {
- fflush(stdin);
- scanf("%d",n);
- }while(*n<1);
- }
- void czytaj_tab (int *tab,int n)
- {
- int i=0,tmp;
- for(;i<n;i++)
- {
- fflush(stdin);
- scanf("%d",tab+i);
- }
- }
- void drukuj_tab (int *tab,int n)
- {
- int i=0;
- printf("Tablica:\n");
- for(;i<n;i++)
- {
- printf("%d, ",*(tab+i));
- }
- putchar('\n');
- }
- int maksimum (int *tab,int n)
- {
- int maks=*tab,i=1;
- for(;i<n;i++)
- {
- if(*(tab+i)>maks)
- maks=*(tab+i);
- }
- return maks;
- }
- int minimum (int *tab,int n)
- {
- int min=*tab,i=1;
- for(;i<n;i++)
- {
- if(*(tab+i)<min)
- min=*(tab+i);
- }
- return min;
- }
- double srednia (int *tab,int n)
- {
- int suma=0,i=0;
- double sr;
- for(;i<n;i++)
- {
- suma+=*(tab+i);
- }
- sr=(double)suma/n;
- return sr;
- }
- int *czytaj_do_0 (int *n)
- {
- int *tab=NULL,i=0,tmp;
- do{
- scanf("%d",&tmp);
- if(tmp==0)
- break;
- tab=(int*)realloc(tab,(i+1)*sizeof(int));
- *(tab+i)=tmp;
- i++;
- }
- while(1);
- *n=i;
- return tab;
- }
- int dlugosc (int *tab)
- {
- int j=0;
- while (*(tab+j)>='0' && *(tab+j)<='9')
- j++;
- return j;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement