Mám vytvořit program který by načetl pole pro max 20 znaků skutečný počet mám zadat z klávesnice. Zadat libovolný znak program by měl spočítat kolikrát je obsažen v poli....
Problém je následující při ukládání hodnot do pole mi program vyhodnotí ENTER jako znak tudíž když zadám "a" a pak dám "enter" jsou to 2 znaky. Tz cykl se pravděpodobně provede 2x.
int main(void)
{
char pole[20], znak;
int kolik, volba, plneni;
printf("Dobry den, vita Vas program pro praci s polem.\nProgram nejprve nacte nekolik znaku
(maximalne 20) a potom vam zobrazi kolikrat se zvoleny znak vyskytuje v poli.\n\nNyni zadejte prosim
kolik mist v poli budechte chtit vyuzivat: ");
scanf("%d", &kolik);
printf("\nBudete pracovat s %d poli. Nyni ulozte prosim znaky do pole.\n\n", kolik);
for (plneni=0; kolik > plneni ; ++plneni) //smycka pro zadavan znaku do pole
{
printf("\nZadejte znak: ");
pole[plneni] = getchar(); //Měl by uložit znak
printf("Ulozeno....\n");
}
..........
zkoušel jsem toto:
Sice už se při zádávání neprovede cykl okamžitě 2x ale zase na druhou stranu v poli jsou uložené
z neznámého důvodu jneom entery
............
for (plneni=0; kolik > plneni ; ++plneni) //smycka pro zadavan znaku do pole
{
printf("\nZadejte znak: ");
pole[plneni] = getchar(); //Měl by uložit znak
getchar(); // sežere enter
printf("Ulozeno....\n");
}
..........
Nenapadá vás jak by se to dalo vyřešit ?