Zdravím, mám úkol do prog. v jazyce C a tentokrát jsem totálně beznadějný.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int kontrolaPismen;
printf("3.domaci ukol\nKolik chcete pismen z abecedy? (4-7): ");
while((kontrolaPismen < 4) || (kontrolaPismen > 7)){
scanf("%d", &kontrolaPismen);
}
char pismeno[kontrolaPismen];
for(int i = 0; i < kontrolaPismen; i++){
scanf("%c", &pismeno[i]);
while((pismeno[i] < 'a') || (pismeno[i] > 'z')){
scanf("%c", &pismeno[i]);
}
}
FILE *eng;
eng = fopen("eng.txt", "r");
if(eng == NULL){
printf("Error: Zadany soubor neexistuje.");
return 1;
}
char slovaVSouboru[50];
while(fscanf(eng,"%49s", slovaVSouboru) != EOF){
printf("%s ", slovaVSouboru);
}
fclose(eng);
puts("");
return 0;
}
Uživatel zadá 4 - 7 pismen abecedy, to mám. Ale za prvé nevím jak to kontrolovat, aby se neopakovali.
Zkoušel jsem to přes 2cykly for, ale bohužel jsem se s tím nepopral. To není ten hlavní problém.
Hlavní je, že mám otevřít soubor(mám) a v tom jsou slova a jsou jich tam stovky slov.
Problém začíná, kdy po mně chtějí, abych bral slovo po slově a kontroloval, jestli obsahuje všechny písmena, které jsme zadali na začátku. Pak s těma slovy, mám dělat další hokusy pokusy, ale to bych snad zvládl už sám.
Abych to zhrnul. Nevím jak vzít to slovo a rozsekat ho na písmena a kontrolovat ty písmena, či obsahuje.
Někdo radil přes dynamické pole. Koukal jsem na net, ale nic moc.
Pokud vám to není jasné, tak tu je zadání:
Užívateľ zadá na štandardný vstup 4 až 7 rôznych písmen abecedy. Program testuje ich počet aj rôznosť.
Následne program určí všetky slová zo súboru, ktoré obsahujú všetky zadané písmena. Pre každé takéto slovo vypíše:
slovo
počet písmen slova
slovo odzadu
písmeno, ktoré je v slove obsiahnuté najviackrát (ak je takýchto písmen viac, vypíše ľubovoľné z nich)
---------------> nechci, abyste to za mě dělali, ale chci nakopnout, jak na to. Děkuji za váš čas.