[C++] przesyłanie tablicy stringów do funkcji

Hebo
Użytkownik
Użytkownik
Posty: 245
Rejestracja: 19 lis 2009, o 19:31
Płeć: Mężczyzna
Lokalizacja: Małopolskie
Podziękował: 28 razy
Pomógł: 9 razy

[C++] przesyłanie tablicy stringów do funkcji

Post autor: Hebo »

chce stworzyć funkcję, która zamieni podany tekst na zera i jedynki (spółgłoski na 1, samogłoski na 0), lecz nie działa

Kod: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

void binar(string litery,int ilosc_liter)
{
    for(int i = 0; i < ilosc_liter; i++)
    {
               if(litery[i] == 'b'||'c'||'d'||'f'||'g'||'h'||'j'||'k'||'l'||'m'||'n'||'p'||'r'||'s'||'t'||'w'||'z')
               cout << "1";
               
               else if(litery[i] == 'a'||'e'||'i'||'o'||'u'||'x'||'y');
               cout << "0";
    }          
}

int main()
{
    string i,n;
    
    cout << "UWAGA: PODAWAJ TYLKO MALE LITERY!" << endl << endl;
    cout << "Imie: ";
    cin >> i;
    cout << "Nazwisko: ";
    cin >> n;
    
    binar(i,3);
    cout << endl;
    binar(n,5);
    cout << endl;
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
gryxon
Użytkownik
Użytkownik
Posty: 311
Rejestracja: 30 gru 2011, o 02:21
Płeć: Mężczyzna
Lokalizacja: Puławy
Podziękował: 11 razy
Pomógł: 53 razy

[C++] przesyłanie tablicy stringów do funkcji

Post autor: gryxon »

Kod: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

void binar(string litery)
{
    int ilosc_liter=litery.length();
    for(int i = 0; i < ilosc_liter; i++)
    {
               if(litery[i] == 'a'|| litery[i] == 'e'|| litery[i] =='i'|| litery[i] =='o'|| litery[i] =='u'|| litery[i] =='x'|| litery[i] =='y')
               cout << "0";
               else cout << "1";
    }          
}

int main()
{
    string i,n;
    
    cout << "UWAGA: PODAWAJ TYLKO MALE LITERY!" << endl << endl;
    cout << "Imie: ";
    cin >> i;
    cout << "Nazwisko: ";
    cin >> n;
    
    binar(i);
    cout << endl;
    binar(n);
    cout << endl;
    return 0;
}
Poprawa kosmetyczna.
Awatar użytkownika
dramacik
Użytkownik
Użytkownik
Posty: 129
Rejestracja: 27 lut 2009, o 22:48
Płeć: Mężczyzna
Podziękował: 2 razy
Pomógł: 31 razy

[C++] przesyłanie tablicy stringów do funkcji

Post autor: dramacik »

Zapis w rodzaju

Kod: Zaznacz cały

if(litery[i] == 'a'||'e'||'i'||'o'||'u'||'x'||'y')
jest bez sensu, tzn. na pewno nie robi tego czego się spodziewasz. Jeśli już stosować takie chłopskie porównywanie, to zamiast tego powinno być

Kod: Zaznacz cały

if(litery[i]=='a'||litery[i]=='e'||litery[i]=='i'||litery[i]=='o'||litery[i]=='u'||litery[i]=='x'||litery[i]=='y')
a zwięźlej

Kod: Zaznacz cały

if(strchr("aeiouxy",litery[i]))
A tak w ogóle, to 'x' chyba nie jest samogłoską.
ODPOWIEDZ