Advertisement
MVozila

stroj - ispravljeno

Apr 18th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #ifndef DEBUG
  4. #define DEBUG(...) printf(__VA_ARGS__)
  5. #endif
  6. typedef struct{
  7. int karte[52];
  8. int broj;
  9. }kar;
  10.  
  11. void printanje(kar te){
  12. int i;
  13. for( i = 0 ; i < te.broj; i++){
  14. printf("%d ",te.karte[i]);
  15. }printf("\n");
  16. }
  17.  
  18.  
  19. kar sort(kar te, int i){
  20. //kad u funkciju saljes strukturu, compiler to gleda kao
  21. //jednu varijablu, tako da kad mijenjas vrijednost te
  22. //varijable u funk., to ne utijece na njenu vrijednost
  23. //u mainu, bez obzira na to da struktura sadrzi polja.
  24.  
  25. int k,j;
  26. int tmp;
  27. for(k = 0; k < te.broj; k++){
  28. for(j = 1 ; j < te.broj ; j++){
  29. if(te.karte[j-1] > te.karte[j]){
  30. tmp = te.karte[j-1];
  31. te.karte[j-1] = te.karte[j];
  32. te.karte[j] = tmp;
  33. }
  34. }
  35. }
  36. return te;
  37. }
  38.  
  39. kar ucitavanje(kar te,int i){//isti slucaj kao u sort
  40. int j;
  41. //printf("\n provjera u ucitavnjau \n \t brojac = %d ",te.broj);
  42. for( j = 0; j < te.broj ; j++){
  43. scanf("%d",&te.karte[j]);
  44. }
  45. return te;
  46. }
  47.  
  48. int read(char c){
  49. int broj;
  50. if(c == 'S') broj = 20;
  51. if(c == 'M') broj = 32;
  52. if(c == 'T') broj = 40;
  53. if(c == 'N') broj = 52;
  54. return broj;
  55. }
  56.  
  57. int main() {
  58. kar te[50];
  59. int i,n;
  60. char c;
  61. scanf("%d",&n);
  62. for( i = 0 ; i < n ; i++){
  63. scanf(" %c",&c);//razmak prije %c, a ne poslije da dobro ucita
  64. te[i].broj = read(c);
  65. te[i] = ucitavanje(te[i],i);
  66. }
  67. for( i = 0; i < n ; i++){
  68. te[i] = sort(te[i], i);
  69. printanje(te[i]);
  70. }
  71. return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement