Advertisement
borisdexter

Finale strukturno

Jan 20th, 2020
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.76 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<ctype.h>
  4. // od kraj do pocetok
  5. int sumaParniNiza(int niza[],int n){
  6. if(n==-1){
  7.     return 0;
  8. }else{
  9.     if(niza[n]%2==0){
  10.         return niza[n] + sumaParniNiza(niza,n-1);
  11.     }else{
  12.         return sumaParniNiza(niza,n-1);
  13.     }
  14. }
  15. }
  16.  
  17. // od pocetok do kraj
  18. int sumaParniNiza(int niza[],int n,int i){
  19. if(i==n){
  20.     return 0;
  21. }else{
  22.     if(niza[i]%2==0){
  23.         return niza[i] + sumaParniNiza(niza,n,i+1);
  24.     }else{
  25.         return sumaParniNiza(niza,n,i+1);
  26.     }
  27. }
  28. }
  29.  
  30. int brojCifri(int x){
  31. if(x==0){
  32.     return 0;
  33. }else{
  34.     return 1 + brojCifri(x/10);
  35. }
  36. }
  37.  
  38. int sumaParniCifri(int x){
  39. if(x==0){
  40.     return 0;
  41. }else{
  42.     if(x%10%2==0){
  43.     return x%10 + brojCifri(x/10);
  44.     }else{
  45.     return brojCifri(x/10);
  46.     }
  47. }
  48. }
  49.  
  50. int zbirCifri(int x){
  51. if(x==0){
  52.     return 0;
  53. }else{
  54.     return x%10 + brojCifri(x/10);
  55. }
  56. }
  57. // zadaca 3 od code
  58. /*
  59. int main(){
  60. FILE *f=fopen("text.txt","r");
  61. int uplata;
  62. char sifra[15];
  63. int tip, pamtiTip;
  64. char pamtiSifra[15];
  65. float koef,maxKoef=0;
  66. float vkupnoKoef,dobivka;
  67. fscanf(f,"%d",&uplata);
  68. vkupnoKoef=uplata;
  69. while(fscanf(f,"%s %d %f",&sifra,&tip,&koef)!=EOF){
  70. printf("%s %d %.2f\n",sifra,tip,koef);
  71.     if(koef>maxKoef){
  72.         maxKoef=koef;
  73.         pamtiTip=tip;
  74.         strcpy(pamtiSifra,sifra);
  75.     }
  76.     vkupnoKoef=vkupnoKoef*koef;
  77. }
  78. printf("%s %d %.2f\n",pamtiSifra,pamtiTip,maxKoef);
  79. printf("%.2f\n",vkupnoKoef);
  80. fclose(f);
  81. return 0;
  82. }
  83. // datoteka matrica i rekurzija
  84. /*
  85. int zbirDeliteli(int x,int i){
  86. if(i==0){
  87.     return 0;
  88. }else{
  89.     if(x%i==0){
  90.         return i + zbirDeliteli(x,i-1);
  91.     }else{
  92.         return zbirDeliteli(x,i-1);
  93.     }
  94. }
  95. }
  96.  
  97. int daliMilibrod(int x){
  98. if(x==zbirDeliteli(x,x-1)){
  99.     return 1;
  100. }else{
  101.     return 0;
  102. }
  103. }
  104.  
  105. int main(){
  106. FILE *f=fopen("text.txt","r");
  107. char zbor[20];
  108. int brojac=0;
  109. int n,m,i,j;
  110. // datotekata
  111. fscanf(f,"%d",&n);
  112. fscanf(f,"%d",&m);
  113. int matrica[n][m];
  114. for(i=0;i<n;i++){
  115.     for(j=0;j<m;j++){
  116.         fscanf(f,"%d",&matrica[i][j]);
  117.     }
  118. }
  119.  
  120. for(i=0;i<n;i++){
  121.     for(j=0;j<m;j++){
  122.         matrica[i][j]=daliMilibrod(matrica[i][j]);
  123.         printf("%d ",matrica[i][j]);
  124.     }
  125.     printf("\n");
  126. }
  127.  
  128. fclose(f);
  129. return 0;
  130. }
  131. /*
  132. // pomesti gi site bukvi za k mesta vo azbukata
  133. int main(){
  134. int k;
  135. scanf("%d",&k);
  136. FILE *f1=fopen("text.txt","r");
  137. FILE *f2=fopen("output.txt","w");
  138. char c;
  139. while((c=fgetc(f1))!=EOF){
  140.     // vasiot kod tuka
  141.     if(isalpha(c)){
  142.         if(isupper(c)){
  143.             if(c+k>'Z'){
  144.                 c=c+k-26;
  145.             }else{
  146.                 c=c+k;
  147.             }
  148.         }else{
  149.             if(c+k>'z'){
  150.                 c=c+k-26;
  151.             }else{
  152.                 c=c+k;
  153.             }
  154.         }
  155.     }
  156.     fputc(c,f2);
  157. }
  158. fclose(f1);
  159. fclose(f2);
  160. return 0;
  161. }
  162.  
  163. // maksimalna 2x2 podmatrica
  164. /*
  165. int main(){
  166. int n,m,i,j,indexI,indexJ,i1,j1;
  167. scanf("%d%d",&n,&m);
  168. int matrica[n][m];
  169. for(i=0;i<n;i++){
  170.     for(j=0;j<m;j++){
  171.         scanf("%d",&matrica[i][j]);
  172.     }
  173. }
  174. int novaMatrica[2][2];
  175. int maxSuma=-9999999;
  176. int suma=0;
  177. for(i=0;i<n;i++){
  178.     for(j=0;j<m;j++){
  179.         suma=0;
  180.         // da ne sme vo posleden red i posledna kolona
  181.         if(j<m-1 && i<n-1){
  182.                 // da sobere 2x2 podmatrica od pozicii [i][j]
  183.             for(i1=i;i1<i+2;i1++){
  184.                 for(j1=j;j1<j+2;j1++){
  185.                     suma+=matrica[i1][j1];
  186.                 }
  187.             }
  188.         }
  189.         if(suma>maxSuma){
  190.             maxSuma=suma;
  191.             indexI=i;
  192.             indexJ=j;
  193.         }
  194.     }
  195. }
  196. //printf("i=%d j=%d\n",indexI,indexJ);
  197.  
  198. for(i=0;i<2;i++){
  199.     for(j=0;j<2;j++){
  200.         novaMatrica[i][j]=matrica[indexI+i][indexJ+j];
  201.         printf("%d ",novaMatrica[i][j]);
  202.     }
  203.     printf("\n");
  204. }
  205. return 0;
  206. }
  207. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement