Érettségi: 2010 július

II.5

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

int main()
{
    char mondat[101];
    cin.getline(mondat,101);
    char masolat[101];
    int masik=0;
    for(int i=0;i<strlen(mondat);i++){
        if(strchr("0123456789",mondat[i])==0){
            masolat[masik]=mondat[i];
            masik++;
        }
        else{
            bool felt=false;
            int j;
            for(j=i;j<strlen(mondat)&& mondat[j]!=' ';j++){
                if(mondat[j]=='.') felt=true;
            }
            if(felt) i=j-1;
            else
            {
                masolat[masik]=mondat[i];
                masik++;
            }

        }
    }
    masolat[masik]='\0';
    cout << masolat;

    return 0;
}

Más lehetőség (a számok keresését különválasztva egy függvénybe):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

int meddig_kell_torolni(char s[], int start)
{
    int i;
    bool van_pont = false;

    for (i=start; s[i]!='\0' && s[i]!=' '; i++) {
        if (!strchr("0123456789.", s[i]))
            return -1;

        if (s[i] == '.')
            van_pont = true;
    }

    if (van_pont)
        return i-1;
    else
        return -1;
}

int main()
{
    char mondat[101];
    cin.getline(mondat,101);

    char masolat[101];
    int masik=0;

    for(int i=0; mondat[i] != '\0'; i++){
        int j = meddig_kell_torolni(mondat, i);
        if (j >= i) {
            i = j;
        }
        else {
            masolat[masik] = mondat[i];
            masik++;
        }
    }

    masolat[masik]='\0';
    cout << masolat;

    return 0;
}