[ Ols @ 15.06.2008. 01:41 ] @
Treba da napisem program koji ubijasve blankove kod unesenog teskta , ja sam nesto probao preko zamene karaktera ACII koda , ali cim ubije prvi blank odmah stane , da li neko zna kako da ovajprog trimuje sve blankove ?

Code:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
               
int main()
{
    int i = 0, ch;
    char string[1000] ;
    printf( "Unesi tekst sa blankovima\n" );
    gets( string );
    
    while( string[i] != '\0' )
    {
        ch = string[i];
        if( (ch) == 32 )
        {
            
            ch = 0;
           
        }
        
         string[i] = ch;
         i=i+1;

        
}
    printf("Tekst bez blankova je: %s\n ", string);
    system("PAUSE");
    return 0;
}
[ karas @ 15.06.2008. 13:07 ] @
'\0' tj. karakter sa vrednošću nula je kraj stringa, probaj za početak to da promeniš u kodu:
Code:

if( (ch) == 32 )
{          
  ch = 0;
}


[ X Files @ 15.06.2008. 14:38 ] @
Potrebna je modifikacija koda koji si postavio. Najbolje je da se napravi zasebna funkcija, a u skladu sa tvojim kodom (bez funkcije) mogao bi da napises nesto ovako /netestirano/:

Code:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main()
{
    int i = 0, br=0, ch;
    char string[1000] ;
    printf( "Unesi tekst sa blankovima\n" );
    gets( string );
    // --------------------------------------
    while ( string[i] != '\0' )
    {
        if ( string[i] != ' ' )
            string[br++] = string[i];
        i=i+1;
    }
    string[br] = '\0';
    // --------------------------------------
    printf("Tekst bez blankova je: %s\n ", string);
    system("PAUSE");
    return 0;
}
[ Ols @ 15.06.2008. 16:44 ] @
Hvala puno , ovaj kod radi odlicno , ja sam pocetnik pa to sa posebnom funkcijom mi bas i nebi odgovaralo , jel ovo radi na principu ako je karakter blank stavi prvi sledeci na njegovo mesto i tako ih sve ispremesta ?

[Ovu poruku je menjao Ols dana 15.06.2008. u 18:04 GMT+1]
[ X Files @ 15.06.2008. 17:20 ] @
Citat:
[...], jel ovo radi na principu ako je karakter blank stavi prvi sledeci na njegovo mesto i tako ih sve ispremesta ?

Ne "prvi sledeci" nego "prvi sledeci koji nije blanko", ali otrpilike dobro si ukapirao. Novi brojac br je brojac "ispravnih" karaktera, nakon cega sa \0 vrsi terminaciju stringa.


[ Ols @ 15.06.2008. 17:50 ] @
Na to sam i mislio ok hvala jos jednom