[C++] Zliczanie ilosci liter

Karamba1
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 16 paź 2012, o 14:03
Płeć: Mężczyzna
Lokalizacja: Swerrr

[C++] Zliczanie ilosci liter

Post autor: Karamba1 »

Czesc.

Moze mi ktos podac kod ktory bd zliczal kazda litere wpisana ? Np: kajak
2 k, 2a, 1j

Z góry dziękuję, zadanie na jutro a jestem ciemny w te klocki

Pozdrawiam
Ostatnio zmieniony 16 paź 2012, o 17:17 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Kartezjusz
Użytkownik
Użytkownik
Posty: 7330
Rejestracja: 14 lut 2008, o 08:31
Płeć: Mężczyzna
Lokalizacja: Z Bielskia-Białej
Podziękował: 6 razy
Pomógł: 961 razy

[C++] Zliczanie ilosci liter

Post autor: Kartezjusz »

Wskazówka. Kod ASCII
PabloRal
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 30 wrz 2012, o 13:52
Płeć: Mężczyzna
Lokalizacja: Legnica
Podziękował: 1 raz
Pomógł: 4 razy

[C++] Zliczanie ilosci liter

Post autor: PabloRal »

Kod: Zaznacz cały

#include <iostream>
using namespace std;

int tab[123];

void g(string w)
{
    for (int i = 0; i < int(w.size()); i ++){
        if (w[i] != ) {
            tab[int(w[i])]++;
        }
    }
}


int main()
{   
    int t;
    cin >> t;
    cin.ignore();
    for (int i = 0;i < t; i++){
        string e;
        getline(cin,e);
        g(e);
    }
    for (int i = 97;i < 123; i ++){
        if (tab[i] != 0)  {
            cout << char(i) << " " << tab[i] << endl;
        }
    }
    for (int i = 65;i < 91; i ++){
        if (tab[i] != 0)  {
            cout << char(i) << " " << tab[i] << endl;
        }
    }
    return 0;
}

Proszę bardzo
damik1318
Użytkownik
Użytkownik
Posty: 13
Rejestracja: 25 lut 2013, o 16:44
Płeć: Mężczyzna
Lokalizacja: Rzeszów
Podziękował: 8 razy

[C++] Zliczanie ilosci liter

Post autor: damik1318 »

Ja nie wiem jak zrobić coś takiego jak jest w tym przykładzie. Ale jak ma program podac ilosc tych znaków to trzeba:

Kod: Zaznacz cały

#include <string>
...
string lancuch // na przyklad
cin >> lancuch;
cout << "Ilosc znakow w tym slowie to: " << lancuch.size()
To ja umiem z takich rzeczy :/
arcan
Użytkownik
Użytkownik
Posty: 106
Rejestracja: 17 gru 2012, o 23:56
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 7 razy
Pomógł: 31 razy

[C++] Zliczanie ilosci liter

Post autor: arcan »

1 sposób: Najszybciej i najprościej jest zaczytać tablice znaków do kontenera a dokładniej do vectora, a następnie użyć wbudowanej funkcji count. Przydałaby się też znajomość numerów w ascii do wykorzystania i szybszej implementacji.
Vector zaczytasz -

Kod: Zaznacz cały

#include <vector>
A count za pomocą biblioteki

Kod: Zaznacz cały

#include <algorithm>
Złożoność o(n)



2 sposób: Posortować tekst quicksortem/mergesortem albo jakimkolwiek o złożoności liniowo-logarytmicznej, a następnie zliczyć kolejne takie same wyrazy.
Złożoność o(n log n)

Twój program podaje ilość liter który ma cały tekst wczytany za pomocą strumienia cin >>. Poza tym chyba lepiej użyć do zaczytywania stringa getlinea, bo daje bufo bezpieczeństwa (na końcu 0).
ODPOWIEDZ