infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Plesa Mihail Iulian din Ianuarie 22, 2011, 18:34:22



Titlul: eliminare
Scris de: Plesa Mihail Iulian din Ianuarie 22, 2011, 18:34:22
Daca intr-un fisier text (de intrare) se afla un sir de caractere... ce trebuie sa scriu in c++ ca in fisierul de iesire sa-mi afiseze aceleasi caractere cu exceptia caracterelor numerice ( numere,   cifre)?

Multumesc! :D


Titlul: Răspuns: eliminare
Scris de: Simoiu Robert din Ianuarie 22, 2011, 18:37:50
Ai sirul S ( char S[100] ). Il citesti initial, si apoi faci un for si verifici fiecare caracter daca nu e cifra ( numarul e format din cifre ) .
Cod:
for ( int i = 0; i < strlen ( S ) ; ++i )
    if ( S[i] < '0' || S[i] > '9' )
        printf ( "%c", S[i] ) ;


Titlul: Răspuns: eliminare
Scris de: Robert Badea din Ianuarie 29, 2011, 10:30:33
O metodă ar mai fi să folosești strcpy(s+i, s+i+1); --i; când găsești un caracter numeric, dar asta doar dacă ai nevoie să mai lucrezi în vreun fel cu șirul.

Cod:
for (int i = 0; i < strlen (s) ; ++i )
    if ( s[i] > '0' || s[i] < '9' ) {
        strcpy(s+i, s+i+1);
        --i;
    }


Titlul: Răspuns: eliminare
Scris de: Duta Vlad din Ianuarie 29, 2011, 21:54:03
Cod:
while (1)
       {
        scanf("%[0-9]", &S);
        scanf("%[^0-9]", &S);
        if (feof(stdin)) break;
        printf("%s",S);
       }