Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void Unos (char *s) {
- int i=0;
- char c;
- do {
- c=getchar();
- s[i]=c;
- i++;
- } while (c!='\n' && i<100);
- s[i-1]='\0';
- }
- int length(char *s) {
- int duz=0,i=0;
- while (s[i++]!='\0') duz++;
- return duz;
- }
- int JeLiBroj (char c)
- {
- if (c>='0' && c<='9') return 1;
- return 0;
- }
- void cut(char *string, int indeks, int len)
- {
- int i,duz=length(string);
- for(i = indeks; i <= duz - len; i++)
- {
- string[i] = string[i + len];
- }
- }
- int obrni (int n) {
- int nb=0, k=1;
- while (n!=0) {
- nb=nb*10+n%10;
- n/=10;
- }
- return nb;
- }
- void BrojUString (char *s, int n) {
- int duzina=length(s), i=0, nb;
- nb=obrni(n);
- while (nb!=0) {
- s[i]=nb%10+'0';
- i++;
- nb/=10;
- }
- s[i]='\0';
- }
- void insert (char *s1, char *s2, int indeks) {
- int i;
- for (i=length(s1)+length(s2); i>=indeks+length(s2); i--)
- s1[i]=s1[i-length(s2)];
- for (i=0; i<length(s2); i++) {
- s1[i+indeks]=s2[i];
- }
- }
- void Zamijeni ( char *s) {
- int suma=0, i,j=0, duzina=length(s), poc, kraj;
- char broj[20];
- for (i=0; i<duzina; i++) {
- if (JeLiBroj(s[i])) {
- poc=i;
- suma+=s[i]-'0';
- i++;
- while (JeLiBroj(s[i])) {
- suma+=s[i]-'0';
- i++;
- }
- BrojUString(broj,suma);
- kraj=i;
- cut(s,poc,kraj-poc);
- i-=(kraj-poc);
- insert(s,broj,poc);
- i+=length(broj);
- }
- suma=0;
- }
- }
- int main () {
- char s[100];
- Unos(s);
- Zamijeni(s);
- printf("%s", s);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement