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

Zadanie z Spoja - dodawanie for Loop w C++

Object Storage Arubacloud
0 głosów
254 wizyt
pytanie zadane 9 października 2018 w SPOJ przez Jason_Nr_1 Bywalec (2,980 p.)
edycja 9 października 2018 przez Jason_Nr_1

Witam,

napisalem kod do zadania "for Loop" w C++ i jest on nieprawidlowy. Zadanie polega na napisaniu kodu i uzyciu for Loop techniki, aby uzytkownik po napisaniu 2 Cyfr wiedzial jak je sie pisze w jezyku angielskim, do liczby 9 i okreslic czy pierwsza liczba jest wieksza czy mniejsza od 9, tak samo przy drugej, Prz. :

Input

8

11

Output

eight

nine

even

odd

Link do Strony Hackerrank: https://www.hackerrank.com/challenges/c-tutorial-for-loop/problem

Kod:

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    int n;

    cin >> n;

    string num[14] ={"even", "odd", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "teen"};

    /*for(int n = 0; i < 10; i++)
    { jest ten kod prawidlowy? */
        if(1<n<9)
        {
            cout << num[n];
        }

        else if(n>9)
        {
            cout << num[0];
        }

        else if(n<9)
        {
            cout << num[1];
        }
    /*}*/

    return 0;
}

Jason.

2 odpowiedzi

0 głosów
odpowiedź 9 października 2018 przez kenjiro244 Dyskutant (8,600 p.)
A uruchomiłeś sobie chociaż ten program raz? "aby uzytkownik po napisaniu 2 Cyfr" no to gdzie ten użytkownik wpisuje te cyfry? Z tego co widzę to po pierwsze wpisujesz 1 cyfrę a po drugie jeżeli chcesz korzystać z tej pętli for to wartość zmiennej  n na początku ustawiania jest na 0. Więc wprowadzanie jej nie ma sensu.
0 głosów
odpowiedź 9 października 2018 przez Jason_Nr_1 Bywalec (2,980 p.)

Znalazlem Kod z jednego z Uzytkownikow:

#include <iostream>
#include <cstdio>

using namespace std;

int main() {
    int i,c,b;
    string a[11]={"even","odd","one","two","three","four","five","six","seven","eight","nine"};
    cin>>c>>b;
    for(i=c;i<=b;i++)
    {
        if((i>9) && (i%2==0))  cout<<a[0]<<endl;
        else if((i>9) && (i%2!=0)) cout<<a[1]<<endl;
        else    cout<<a[i+1]<<endl;
    }
    return 0;
}

i prosilbym o wytlumaczenie:

for(i=c;i<=b;i++)

i++, znaczy sie ze dodaje 1 do c i b?

if((i>9) && (i%2==0)) cout<<a[0]<<endl; else if((i>9) && (i%2!=0)) cout<<a[1]<<endl; else cout<<a[i+1]<<endl;

co oznacza i%2==0?

dlaczego a[1] a nie a[0]?

dlaczego a[i+1] a nie a[i++]?

musi byc koniecznie endl; na konicu?

1
komentarz 9 października 2018 przez kenjiro244 Dyskutant (8,600 p.)

No ja przepraszam bardzo ale każdy jeden kurs o C++ wyjaśnia jak wygląda pętla for i co oznacza i++ no ale ok:

1. for(i=c;i<=b;i++)

dla i przypisujesz wprowadzoną liczbę c czyli mniejszą; w pętli wykonujesz dopóki licznik i będzie mniejszy od drugiej liczby wprowadzonej b; z każdym obiegiem funkcji zwiększasz licznik i o jeden.

2. i++ zwiększa i o 1 inaczej można powiedzieć że i = i + 1

3.  i%2 ==0 inaczej jeżeli reszta z dzielenia przez 2 jest równa 0.

4. Bo na 0 miejscu w tablicy jest even a na 1 odd.

5. a[i + 1] wybiera komórkę o 1 większą w tablicy od a natomiast  a[i++] i tutaj chyba nie jestem tego pewien po wyborze dodatkowo zwiększa licznik i o 1.

6. Może sprawdź?   

Podobne pytania

0 głosów
2 odpowiedzi 180 wizyt
pytanie zadane 15 lutego 2018 w C i C++ przez MAJ0R Obywatel (1,130 p.)
0 głosów
0 odpowiedzi 126 wizyt
pytanie zadane 6 września 2020 w SPOJ przez magda_19 Gaduła (3,080 p.)
0 głosów
0 odpowiedzi 541 wizyt
pytanie zadane 24 lipca 2018 w SPOJ przez ksareks Nowicjusz (140 p.)

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...