Carnby1021

labkio

Apr 25th, 2016
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<malloc.h>
  3. #include<stdlib.h>
  4. #include<math.h>
  5.  
  6. int suma(int *tabek,int a){
  7. int i,suma=0;
  8. for(i=0;i<a;i++){
  9. suma+=*tabek;
  10. tabek++;
  11. }
  12. return suma;
  13. }
  14.  
  15.  
  16. int* stworz(int *ile){
  17. int *tab,a,i;
  18.  
  19. do{
  20. printf("Podaj liczbe elementow ma byc conajmniej 10 \n");
  21. scanf_s("%d",ile);
  22. }while(*ile<10);
  23.  
  24. system("cls");
  25.  
  26. tab=(int*)malloc(*ile*sizeof(int));
  27.  
  28. for(i=0;i<*ile;i++){
  29. printf("Podaj %d element tablicy",i+1);
  30. scanf_s("%d",&a);
  31. tab[i]=a;
  32. }
  33.  
  34. return tab;
  35. }
  36.  
  37. void wypisz(int *tab,int ile){
  38. int i;
  39. for(i=0;i<ile;i++){
  40. printf("tab[%d]=%d\n",i,tab[i]);
  41. }
  42. }
  43. double srednia(int *tab,int ile){
  44. double srednia=0,i;
  45. for(i=0;i<ile;i++){
  46. srednia+=*tab;
  47. tab++;
  48. }
  49. srednia=srednia/ile;
  50.  
  51. return srednia;
  52. }
  53. void znajdzmin(int *tab,int ile){
  54. int i,min;
  55. min=*tab;
  56. for(i=1;i<ile;i++){
  57. tab++;
  58. if(min>*tab){
  59. min=*tab;
  60. }
  61. }
  62. printf("Najmniejsza liczba tablicy to %d\n",min);
  63. }
  64. void znajdzmax(int *tab,int ile){
  65. int i,max;
  66. max=*tab;
  67. for(i=1;i<ile;i++){
  68. tab++;
  69. if(max<*tab){
  70. max=*tab;
  71. }
  72. }
  73. printf("Najwieksza liczba tablica to %d\n",max);
  74. }
  75. int mediana(int *tab,int ile){
  76.  
  77. int i, j, temp,janar;
  78. for (i = 0; i<ile-1; i++)
  79. {
  80. for (j=0; j<ile-1-i; j++)
  81. {
  82. if (tab[j] > tab[j+1])
  83. {
  84. temp = tab[j+1];
  85. tab[j+1] = tab[j];
  86. tab[j] = temp;
  87. }
  88. }
  89. }
  90. if(ile%2==0)
  91. {
  92. janar=ile/2;
  93. janar=tab[janar-1]+tab[janar];
  94. janar=janar/2;
  95. }
  96. else
  97. {
  98. janar=ile/2;
  99. janar=tab[janar];
  100.  
  101. }
  102. return janar;
  103. }
  104.  
  105. void dodaj_tablica(int *tab,int *tab1,int ile,int ile1){
  106. int i;
  107. if(ile!=ile1){
  108. printf("Nie da sie dodac tablic rozne wymiary\n");
  109. system("pause");
  110. }
  111. else
  112. {
  113. for(i=0;i<ile;i++){
  114. *tab=*tab+*tab1;
  115. }
  116. }
  117. }
  118.  
  119. double odchylenie(int *tab,double srednia,int ile){
  120. int i;
  121. double wariancja=0,odchylenie=0;
  122. for(i=0;i<ile;i++){
  123. wariancja+=((*tab-srednia)*(*tab-srednia));
  124. tab++;
  125. }
  126. wariancja=wariancja/ile;
  127. odchylenie=sqrt(wariancja);
  128. return odchylenie;
  129. }
  130.  
  131. int main(){
  132. int *tab,*tab1,ile,ile1,wynik;
  133. double wynik1,srednia1;
  134.  
  135. tab=stworz(&ile);
  136. system("cls");
  137. wypisz(&tab[0],ile);
  138. wynik=suma(&tab[0],ile); //tab;
  139. wynik1=srednia(tab,ile);
  140.  
  141. printf("Suma =%d\n",wynik);
  142. printf("Srednia =%f\n",wynik1);
  143. znajdzmin(tab,ile);
  144. znajdzmax(tab,ile);
  145. wynik=mediana(&tab[0],ile);
  146. printf("Mediana =%d\n",wynik);
  147. srednia1=srednia(tab,ile);
  148. wynik1=odchylenie(tab,srednia1,ile);
  149. printf("Odchylenie = %f\n",wynik1);
  150.  
  151.  
  152. /*wypisz(tab,ile);
  153. printf("\n");
  154. wypisz(tab1,ile1);
  155. printf("\n");*/
  156. tab1=stworz(&ile1);
  157. dodaj_tablica(tab,tab1,ile,ile1);
  158. printf("Dodana tablica\n");
  159. wypisz(tab,ile);
  160. printf("\n");
  161.  
  162. free(tab);
  163. free(tab1);
  164.  
  165. system("pause");
  166. }
Add Comment
Please, Sign In to add comment