• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tablica i instrukcja warunkowa

VPS Starter Arubacloud
0 głosów
445 wizyt
pytanie zadane 14 marca 2023 w C i C++ przez Jerzy Użytkownik (930 p.)
edycja 14 marca 2023 przez Arkadiusz Waluk

Mój kod :
Dlaczego wyświetla wszystkie wartości mimo instrukcji Jeżeli ?

#include <iostream>

using namespace std;

int main()
{
    string wyraz;
    cout << "Podaj wyraz" << endl;
    cin>>wyraz;
    cout<<"Wprowadzony wyraz:"<<wyraz<<endl;
   // cout<<"Litery wyrazu "<<wyraz<<"w kolumnie"<<endl;
    for(int i =0;i<wyraz.length();i++)
    {
        if (wyraz[i]>5)
        {

           cout<<wyraz[i]<<endl;
        }
    }
    return 0;
}

2 odpowiedzi

+1 głos
odpowiedź 14 marca 2023 przez j23 Mędrzec (195,220 p.)
Bo kody liter są większe od 5?
komentarz 14 marca 2023 przez Jerzy Użytkownik (930 p.)
Jak to zrobić aby odczytywać cyfrę po cyfrze?
Możesz zaproponować kod.
komentarz 14 marca 2023 przez j23 Mędrzec (195,220 p.)
Tak jak masz teraz, tylko wywal ten warunek, bo nie wiadomo, po co on tam jest,
komentarz 14 marca 2023 przez Jerzy Użytkownik (930 p.)
Warunek jest po to aby po wprowadzeniu liczby wyświetlił tylko liczby wyższe od 5
komentarz 14 marca 2023 przez tkz Nałogowiec (42,020 p.)
Zakładając, że wyraz[i] będzie rzutowany na liczbę całkowitą, to dla załóżmy "4" dostaniesz 52, bo taki ma odpowiednik w tablicy ASCII. Generalnie ten warunek jest bez sensu, bo każda litera(wczytujesz litery, bo używasz stringa) nawet w postaci cyfry będzie większa od 5. "0" to 48 dla przykładu.
komentarz 14 marca 2023 przez Jerzy Użytkownik (930 p.)
Wiem ale jak można rozbić wartość  123 na oddzielne liczby i wyświetlić tylko wartości po wyżej 5
komentarz 14 marca 2023 przez tkz Nałogowiec (42,020 p.)
Najprościej moim zdaniem jest wczytać całość jako string. Podzielić po białym znaku, każdą wartość potraktować std::stoi. I tak na przykład dla "123 43 2" będziemy mieli "123", "43", "2" i w ifie można zastosować std::stoi.
komentarz 14 marca 2023 przez Jerzy Użytkownik (930 p.)
Co to jest std::stoi i gdzie można o tym poczytać ?
komentarz 14 marca 2023 przez tkz Nałogowiec (42,020 p.)
W googlu, serio, zamiast pytać mogłeś tego po prostu wyszukać. c++ std::stoi - polecam.
komentarz 15 marca 2023 przez Oscar Nałogowiec (29,300 p.)

@Jerzy, Zamiast 5 napisz '5'.

1
komentarz 15 marca 2023 przez j23 Mędrzec (195,220 p.)

@Jerzy, 

for (char c : wyraz) {
    if (isdigit(c) && c - '0' > 5) 
        std::cout << c << '\n';
}

 

+1 głos
odpowiedź 14 marca 2023 przez tangarr Mędrzec (155,140 p.)

Zapoznaj się z tablicą kodów ASCII

Dla zabawy możesz wyświetlić znak oraz jego wartość liczbową

cout<<wyraz[i] << " " << (int)wyraz[i]<<endl; 

 

komentarz 14 marca 2023 przez Jerzy Użytkownik (930 p.)
To co zrobić aby przy wprowadzaniu 123 odczytywał oddzielnie - 1   2    5 ?

Podobne pytania

0 głosów
1 odpowiedź 1,300 wizyt
pytanie zadane 20 lutego 2018 w Inne języki przez icytower Bywalec (2,170 p.)
–1 głos
3 odpowiedzi 291 wizyt
pytanie zadane 8 listopada 2021 w Offtop przez defałlt juzer Obywatel (1,140 p.)
0 głosów
0 odpowiedzi 241 wizyt
pytanie zadane 9 listopada 2017 w C i C++ przez mn130496 Gaduła (3,530 p.)

92,975 zapytań

141,938 odpowiedzi

321,181 komentarzy

62,302 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...