Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wyszukiwanie oraz wypisywanie litery, która pojawiła się we wpisanym zdaniu najwięcej razy

Ostatnio zmodyfikowano 2015-11-22 23:06
Autor Wiadomość
Zdziszek
Temat założony przez niniejszego użytkownika
Wyszukiwanie oraz wypisywanie litery, która pojawiła się we wpisanym zdaniu najwięcej razy
» 2015-11-22 12:49:13
Witam, znalazłem już na różnych forach podobne tematy, ale niestety mi nie pomogły. Mam do napisania kod, który znajduje we wpisanym tekście literę, która wystąpiła najwięcej razy, jeśli kilka liter ma po tyle samo znaków to wypisuje je wszystkie, napisałem kod, który zlicza powtórzenia wszystkich liter do dodatkowej tablicy, ale nie działa i nie wiem, gdzie jest błąd.

C/C++
#include<iostream>
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<stdlib.h>
using namespace std;


void max( char t[] )
{
   
    int schowek[ 100 ]; //dodatkowa tablica, ktora ma przechowywac najdluzszy wyraz
    int dl = strlen( t );
    char litera = 97; //litera 'a' w tablicy ASCII
    int x = 0; //zmienna, ktora numeruje wyrazy w tablicy dodatkowej(schowek)
    int c = 0; //zmienna liczaca powtorzenia konkretnej litery
    for( int i = litera; i <= 122; i++ ) //i<=122, czyli i<='z' w ASCII
    {
        c = 0;
        for( int j = 0; j < dl; j++ )
        {
            if( t[ j ] == litera )
            {
                c++;
               
            }
           
        }
        c = schowek[ x ]; //przydzielenie ilosci powtorzen liter do kolejnych wyrazow tablicy dodatkowej
        x++;
       
       
    }
    cout << schowek[ 0 ] << schowek[ 1 ];
}



int main()
{
    char tab[ 100 ];
    cout << "Napisz jakies zdanie: ";
    cin.getline( tab, 100 );
    max( tab );
   
    cout << endl << endl << endl << endl;
   
    system( "pause" );
    return 0;
}

tak wygląda log:

Napisz jakies zdanie: gd gdg d
-858993460-858993460

C/C++
cout << schowek[ 0 ] << schowek[ 1 ];
To dałem tylko na próbę, czy działa.


Nie wiem, gdzie tu jest błąd, że tego nie wyświetla, no i co zrobić, żeby potem wyświetliło odpowiednią literę/litery w zależności od ilości powtórzeń?Z góry dziękuję za pomoc.
P-140543
michal11
» 2015-11-22 13:07:58
Ustaw elementy tablicy na zera
P-140546
Zdziszek
Temat założony przez niniejszego użytkownika
» 2015-11-22 13:14:10
Teraz zniknęła mi ta liczba -83534 i wyświetla się 0, ale nie chce liczyć liter, w przypadku schowek[0] i schowek [1] powinno zliczyć litery a i b, a dalej wyświetla 0, wiesz może o co chodzi?
P-140547
carlosmay
» 2015-11-22 14:09:23
C/C++
c = schowek[ x ]; // <-- tu jest blad
P-140555
Zdziszek
Temat założony przez niniejszego użytkownika
» 2015-11-22 14:26:17
Znaczy jak to powinno być zapisane?Bo na próbę ustawiałem nawet c=schowek[0] itp, ale i tak nie działało, nie mam pojęcia co jest grane.
P-140559
carlosmay
» 2015-11-22 14:29:51
Znaczy jak to powinno być zapisane?
 przypisanie musi być w dobrą stronę.
Z "pustego" to i Salomon "śmieci nasypie".

C/C++
c = schowek[ x ]; // <-- tu jest blad
 
P-140562
Zdziszek
Temat założony przez niniejszego użytkownika
» 2015-11-22 14:32:01
Jeśli masz na myśli wyzerowanie elementów tablicy to już to zrobiłem, tylko teraz wyświetla cały czas 0 i nie zlicza tych liter
P-140563
carlosmay
» 2015-11-22 14:58:46
Widzę, że się nie domyślisz. ;)
C/C++
schowek[ x ] = c; // <-- tak jest dobrze
P-140572
« 1 » 2
  Strona 1 z 2 Następna strona