[C] ile liter w wyrazie

chikicziki
Użytkownik
Użytkownik
Posty: 8
Rejestracja: 5 kwie 2011, o 21:39
Płeć: Mężczyzna
Lokalizacja: bialystok
Podziękował: 1 raz

[C] ile liter w wyrazie

Post autor: chikicziki »

czy ma ktoś pomysł, jak napisać program, który jako parametr otrzymuje wskaźnik na napis i sprawdza, której literki jest w nim najwięcej potem ją wypisuje? w języku C
mikkuexc
Użytkownik
Użytkownik
Posty: 65
Rejestracja: 19 maja 2011, o 20:33
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 1 raz
Pomógł: 5 razy

[C] ile liter w wyrazie

Post autor: mikkuexc »

Mój pomysł jest taki. Pewnie nie najlepszy.

Tworzysz zmienną char i dwie zmienne int np. c i d.
Do c i d przypisujesz 0.

Do chara przypisujesz pierwszy element napisu. Potem każdy znak po kolei z napisu porównujesz do naszego chara. Jeżeli się zgadza do zmiennej d dodajesz 1.
Jeżeli d>c c=d a d=0;

Następnie do chara przypisujesz kolejny element napisu. Sprawdzasz każdy znak po kolei. Jeżeli się zgadza to znowu d+1.
Znowu sprawdzasz d>c. Jeżeli tak to c=d a d=0.

I tutaj jakąś pętle for musisz zastosować.

Jeżeli coś ciekawszego mi przyjdzie do głowy to dam znać.
chikicziki
Użytkownik
Użytkownik
Posty: 8
Rejestracja: 5 kwie 2011, o 21:39
Płeć: Mężczyzna
Lokalizacja: bialystok
Podziękował: 1 raz

[C] ile liter w wyrazie

Post autor: chikicziki »

okej,a skąd mam potem wiedzieć, którą literke wypisac ?
mikkuexc
Użytkownik
Użytkownik
Posty: 65
Rejestracja: 19 maja 2011, o 20:33
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 1 raz
Pomógł: 5 razy

[C] ile liter w wyrazie

Post autor: mikkuexc »

Możesz dodać następną zmienną char. Jeżeli d>c. To do tej nowej zmiennej char przypisujemy tą którą aktualnie sprawdzaliśmy.
athame
Użytkownik
Użytkownik
Posty: 576
Rejestracja: 2 lut 2012, o 21:42
Płeć: Mężczyzna
Lokalizacja: Radom
Podziękował: 1 raz
Pomógł: 64 razy

[C] ile liter w wyrazie

Post autor: athame »

Weź sobie jeszcze zmienną np. char i. W momencie jak zliczasz ilość liter i okazuje się większa niż poprzednio zapisana, to zmieniasz wartość tej zmiennej na literę jaką liczyłeś.
mikkuexc
Użytkownik
Użytkownik
Posty: 65
Rejestracja: 19 maja 2011, o 20:33
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 1 raz
Pomógł: 5 razy

[C] ile liter w wyrazie

Post autor: mikkuexc »

Athame, znasz lepszy sposób rozwiązania tego zadania? Bo w sumie mnie to zastanawia.
machina13
Użytkownik
Użytkownik
Posty: 73
Rejestracja: 12 kwie 2009, o 08:31
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 16 razy
Pomógł: 6 razy

[C] ile liter w wyrazie

Post autor: machina13 »

mój pomysł:
tworzysz tablicę int tab[256] i ja zerujesz.
liczba elementów to 256 ponieważ masz tyle "znaczków" a nie jest określone w zadaniu że napis składa się tylko z znaków odpowiadających literom

Następnie:

1. odczytujesz znak z napisu
2. sprawdzasz jaki jest numer znaku który odczytałaś
3. wartość tab[numer odczytanego znaku] zwiększasz o 1
4. jeśli to był ostatni znak w napisie przechodzisz do pkt 5. jeśli nie to przechodzisz do następnego znaku i wracasz do pkt 1.
5. przelatujesz tablicę tab w poszukiwaniu największej wartości, zapisujesz indeks tej wartości
6. wypisujesz znak odpowiadający indeksowi

Mam nadzieję że to zrozumiałe i jest w miarę proste do napisania.
ODPOWIEDZ