Advertisement
ebx

Inkrement velikog broja

ebx
Jun 13th, 2011
587
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.90 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. int u;
  4. typedef struct {
  5.         char broj[32];
  6.         int cif;
  7.     } VeBr;
  8.  
  9. void citaj(VeBr*);
  10. VeBr prviVeci(VeBr);
  11. void ispis(VeBr);
  12. int main(int argc, char **argv)
  13. {
  14.     VeBr x;
  15.     citaj(&x);
  16.     ispis(prviVeci(x));
  17.     return 0;
  18. }
  19. void citaj(VeBr *x){
  20. unos:   printf("Unesi veliki broj: ");
  21.     scanf("%s", x->broj);
  22.     x->cif=strlen(x->broj);
  23.     if(x->cif>30) goto unos;
  24. }
  25. VeBr prviVeci(VeBr x) {
  26.     VeBr y;
  27.     strcpy(y.broj, x.broj);
  28.     y.cif=x.cif;
  29.     int i;
  30.     for (i=y.cif-1; i>=0; i--) {
  31.             while(*((y.broj)+i)=='9') {
  32.                 if(i==0) {
  33.                     u=1;
  34.                     *((y.broj)+i)='0';
  35.                     goto w;
  36.                 }
  37.                 else {
  38.                     *((y.broj)+i)='0';
  39.                     i--;
  40.             }
  41.         }
  42.             *((y.broj)+i)+=1;
  43.             break;
  44.     }
  45. w:      return y;      
  46. }
  47. void ispis(VeBr x){
  48.     int i;
  49.     printf("Prvi veci broj je: ");
  50.     if(u==1) printf("1");
  51.     for (i=0; *(x.broj+i)=='0'; i++);
  52.     for (; i<x.cif; i++)
  53.     printf("%c", *(x.broj+i));
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement