Carnby1021

lab 6/7

Apr 14th, 2016
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.74 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[0];
  56. for(i=0;i<ile;i++){
  57. if(min>tab[i]){
  58. min=tab[i];
  59. }
  60. }
  61. printf("Najmniejsza liczba tablicy to %d\n",min);
  62. }
  63. void znajdzmax(int tab[],int ile){
  64. int i,max;
  65. max=tab[0];
  66. for(i=0;i<ile;i++){
  67. if(max<tab[i]){
  68. max=tab[i];
  69. }
  70. }
  71. printf("Najwieksza liczba tablica to %d\n",max);
  72. }
  73. int mediana(int tab[],int ile){
  74.  
  75. int i, j, temp,janar;
  76. for (i = 0; i<ile-1; i++)
  77. {
  78. for (j=0; j<ile-1-i; j++)
  79. {
  80. if (tab[j] > tab[j+1])
  81. {
  82. temp = tab[j+1];
  83. tab[j+1] = tab[j];
  84. tab[j] = temp;
  85. }
  86. }
  87. }
  88. if(ile%2==0)
  89. {
  90. janar=ile/2;
  91. janar=tab[janar-1]+tab[janar];
  92. janar=janar/2;
  93. }
  94. else
  95. {
  96. janar=ile/2;
  97. janar=tab[janar];
  98.  
  99. }
  100. return janar;
  101. }
  102.  
  103. void dodaj_tablica(int tab[],int tab1[],int ile,int ile1){
  104. int i;
  105. if(ile!=ile1){
  106. printf("Nie da sie dodac tablic rozne wymiary\n");
  107. system("pause");
  108. }
  109. else
  110. {
  111. for(i=0;i<ile;i++){
  112. tab[i]=tab[i]+tab1[i];
  113. }
  114. }
  115. }
  116.  
  117. double odchylenie(int tab[],double srednia,int ile){
  118. int i;
  119. double wariancja=0,odchylenie=0;
  120. for(i=0;i<ile;i++){
  121. wariancja+=((tab[i]-srednia)*(tab[i]-srednia));
  122. }
  123. wariancja=wariancja/ile;
  124. odchylenie=sqrt(wariancja);
  125. return odchylenie;
  126. }
  127. int main(){
  128. int *tab,*tab1,ile,ile1,wynik;
  129. double wynik1,srednia1;
  130.  
  131. tab=stworz(&ile);
  132. system("cls");
  133. wypisz(&tab[0],ile);
  134. wynik=suma(&tab[0],ile); //tab;
  135. wynik1=srednia(tab,ile);
  136.  
  137. printf("Suma =%d\n",wynik);
  138. printf("Srednia =%f\n",wynik1);
  139. znajdzmin(tab,ile);
  140. znajdzmax(tab,ile);
  141. wynik=mediana(&tab[0],ile);
  142. printf("Mediana =%d\n",wynik);
  143. srednia1=srednia(tab,ile);
  144. wynik1=odchylenie(tab,srednia1,ile);
  145. printf("Odchylenie = %f\n",wynik1);
  146.  
  147.  
  148. /*wypisz(tab,ile);
  149. printf("\n");
  150. wypisz(tab1,ile1);
  151. printf("\n");*/
  152. tab1=stworz(&ile1);
  153. dodaj_tablica(tab,tab1,ile,ile1);
  154. printf("Dodana tablica\n");
  155. wypisz(tab,ile);
  156. printf("\n");
  157.  
  158. free(tab);
  159. free(tab1);
  160.  
  161. system("pause");
  162. }
Add Comment
Please, Sign In to add comment