Facebook
From kamil, 9 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 260
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void czytaj_n(int*n);
  4. void czytaj_tab(int *t,int n);
  5. void drukuj_tab(int *t,int n);
  6. int maksimum(int *t, int n);
  7. double srednia(int *t, int n);
  8. int *czytaj_1(int *n);
  9.  
  10.  
  11. void main(){
  12.  
  13. char z;
  14. int* tab=NULL , n,m;
  15. double s=0;
  16.  
  17. while(1){
  18.         printf("\nc - czytaj tablice\nd- drukuj tablice \ns- srednia \ns-maksimum \nq-wyjscie\nz czytaj_1\n");
  19.         printf("Twoj wybor?  ");
  20.         fflush(stdin);
  21.         scanf("%c",&z);
  22.         switch(z){
  23.         case 'c' :
  24.                 do
  25.                 {
  26.                 printf("podaj rozmiar:  ");
  27.                 czytaj_n(&n);
  28.                 }while(n<1);
  29.                 tab=(int*)malloc(n*sizeof(int));
  30.                 czytaj_tab(tab,n);
  31.                                 break;  
  32.                                
  33.         case 'd' :
  34.                 if(tab==NULL)
  35.                         printf("tablca pusta\n");
  36.                 else
  37.                
  38.                         drukuj_tab(tab,n);
  39.                                 break;
  40.                            
  41.         case 's' :
  42.                 if(tab==NULL)
  43.                         printf("tablca pusta\n");
  44.                 else
  45.                 {
  46.                 s=srednia(tab,n);
  47.                 printf("srednia=%g\n",s);
  48.                 }
  49.                                 break;
  50.                 case 'm' :
  51.                 if(tab==NULL)
  52.                         printf("tablca pusta\n");
  53.                 else
  54.                 {
  55.                 m=maksimum(tab,n);
  56.                 printf("maksimum=%d\n",m);
  57.                 }
  58.                                 break;     
  59.         case 'q' :
  60.                 free(tab);
  61.                 printf("koniec programu\n");
  62.                 return;
  63.                
  64.                          
  65.         case 'z' : tab=czytaj_1(&n);
  66.                                 break;
  67.                            
  68.         default : printf("Bledny znak\n");
  69.                                 break;
  70.  
  71.                 }
  72.         }
  73. }
  74.  
  75. void    czytaj_n(int*n){
  76.         scanf("%d",n);
  77.  
  78. }
  79.  
  80. void czytaj_tab(int *t,int n)
  81. {
  82.         int i;
  83.         for(i=0;i<n;i++)
  84.         {
  85.                 printf("[%d]=",i);
  86.                 scanf("%d",t+i);
  87.         }
  88. }
  89. void drukuj_tab(int *t,int n)
  90. {
  91.         int i;
  92.         for(i=0;i<n;i++)
  93.         {
  94.                 printf("[%d]=%d\n",i,*(t+i));
  95.         }
  96. }
  97.  
  98.  
  99. int maksimum(int *t, int n)
  100. {
  101.         int i;
  102.  
  103.  int maks=*t;
  104.         for(i=1;i<n;i++)
  105.                
  106.                         {
  107.                         if(*(t+i)>maks)
  108.                         maks=*(t+i);
  109.                        
  110.                         }
  111.         return maks;
  112. }
  113. double srednia(int *t, int n)
  114. {
  115.         int i,s=0;
  116.  
  117.  
  118.         for(i=0;i<n;i++)
  119.                
  120.                         {
  121.                         s+=*(t+i);
  122.                        
  123.                         }
  124.         return (double)s/n;
  125. }
  126. int *czytaj_1(int *n)
  127. {
  128.         int*t=NULL;
  129.         int a;
  130.         *n=0;
  131.         while(1)
  132.         {
  133.                 printf("a=");
  134.                 scanf("%d",&a);
  135.                 if(a==0)
  136.                         break;
  137.                 t=(int*)realloc(t,(*n+1)*sizeof(int));
  138.                 *(t+*n)=a;
  139.                 (*n)++;
  140.         }
  141.         return t;
  142. }
  143.  
  144.  
  145.  
  146.