Diskuze: Defragmentace znaků
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
V zásadě by se dalo říci, že by algoritmus řešící tvůj problém měl postupně číst ze vstupu a u každého znaku řešit následující problém:
Inspirativní zdrojový kód je níže. Jen pozor, zcela jistě nefunguje. Jenom to má být jedna z možností, jak problém řešit. Nezkoušel jsem ho a ani to nemám v plánu.
...
int pocet = 0;
char znak = '\0';
while (!feof(stdin)) {
int tmp = fgetc(stdin);
if (tmp != EOF) {
if (tmp >= '0' && tmp <= '9')
pocet = pocet*10 + (tmp - '0');
else if (tmp >= 'a' && tmp <= 'z') {
znak = tmp;
for (int i = 0; i < pocet; ++i)
fputc(stdout, znak);
pocet = 0;
znak = '\0';
} else {
...
}
}
}
Možná by se zde dalo s úspěchem použít něco jako scanf, ale nevím, zda by tahle funkce mylně neinterpretovala některé vstupy.
Zobrazeno 3 zpráv z 3.