Advertisement
Adijata

Izbaci rijec s cifrom na prvom mjestu

Aug 25th, 2014
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.40 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. char* funkcija(char *p, char novi[100])
  5. {
  6.     char* q=novi;
  7.     int i;
  8.     // da sacuvamo pcoetnu adresu
  9.  
  10.     int broj;
  11.     while(*p!='\0')
  12.     {
  13.         if(*p>='0' && *p <= '9') // provjeravam jesu li znakovi na koje pokazviac nailazi brojevi
  14.         {
  15.             broj=0; // ovdje stavljamo broj na nulu jer svaki put kad naidje na novi niz cifara to smatramo zasebnim brojem
  16.             while(*p >= '0' && *p <= '9')// ako jesu, sve dok jesu brojevi trebam da ih izvlacim iz teksta i pretvaram u intove
  17.             {
  18.                 broj*=10; // za destke i stotice trik
  19.                 broj+=(int )(*p-'0'); //--ovo je šablon za pretvaranje cifara odnosno asci coda cifre u cifru
  20.                 p++;
  21.             }
  22.  
  23.             if(broj < 10)
  24.             {
  25.                 int brojac_cifara=0;
  26.                 while(broj!=0)
  27.                 {
  28.                     broj/=10;
  29.                     brojac_cifara++;
  30.                 }
  31.  
  32.                p-=brojac_cifara;
  33.                for(i=0; i<brojac_cifara; i++)
  34.                 *q++=*p++;
  35.             }
  36.  
  37.         }
  38.         *q++=*p++;
  39.  
  40.     }
  41.    *q='\0';
  42.  
  43.     return q;
  44. }
  45.  
  46.  
  47.  
  48. int main()
  49. {
  50.  
  51.     char niz[100]="Ostaju: 9 5 idu: 10 11 12 19 999";
  52.     char novi[100];
  53.     char *s=novi;
  54.     s=funkcija(niz, novi);
  55.  
  56.     while(*s!='\0')
  57.     {
  58.         printf("%c", *s++);
  59.     }
  60.  
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement