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

Prośba o wyjaśnienie kodu -- spojler kodu 977 SPOJ

VPS Starter Arubacloud
–1 głos
445 wizyt
pytanie zadane 17 kwietnia 2017 w SPOJ przez BinaryMan Stary wyjadacz (12,620 p.)
zmienione kategorie 17 kwietnia 2017 przez BinaryMan

Witam !
Czy mógłby mi ktoś wyjaśnić ten oto kod: 

 

#include <iostream>
using namespace std;

int main()
{
    int tab[100];
    int *p=tab;
    while(cin>>*p) p++;
    while(p>tab) { p--; cout<<*p<<" "; }
}

Pochodzi on ze SPOJ, a oto zadanie: 

http://pl.spoj.com/problems/TABLICA/

Z góry dziękuję za pomoc ! 

komentarz 17 kwietnia 2017 przez niezalogowany
Zła kategoria, poprawna: SPOJ.
1
komentarz 17 kwietnia 2017 przez BinaryMan Stary wyjadacz (12,620 p.)
Już poprawione, nie wiedziałem, że jest taka kategoria :)

2 odpowiedzi

+2 głosów
odpowiedź 17 kwietnia 2017 przez mtk3d Nałogowiec (46,690 p.)
Zmienna p, to wskaźnik, mówi o tym gwiazdka umieszczona przed nią. Poczytaj sobie co to są wskaźniki i jak można z nich korzystać odwołując się do elementów tablicy, wtedy na pewno zrozumiesz.
+2 głosów
odpowiedź 17 kwietnia 2017 przez piotrsz109 Stary wyjadacz (13,730 p.)
Skrypt jest w miarę prosty.

1. Deklarujesz tablicę.
2. Tworzysz wskaźnik do tej balicy.
3. Pętla wczytuje dane dopóki są i inkrementuje "wybrany element tablicy"
4. Pętla idzie od tyłu i wypisuje liczby.

Skąd masz ten kod? Sam go nie napisałeś, bo byś go rozumiał.
komentarz 17 kwietnia 2017 przez BinaryMan Stary wyjadacz (12,620 p.)

Nie, nie pisałem tego kodu sam, znalazłem go na forum, ale średnio go rozumiem. Gdy "odpalę" go w konsoli to tak jak by się wieszał jak wpiszę cyfry po spacji. 

Sam napisałem coś takiego ale SPOJ mi go odrzucał, wiem dlaczego go odrzucił:
 


#include <iostream>

using namespace std;

string numbers;

int main()
{


    cout<<"Tel me the number of the table: "<<endl;
    getline(cin, numbers);

    for(int i=numbers.size()-2; i>=0; i--)
    {
        cout<<numbers[i];
    }


    return 0;
}

 

komentarz 17 kwietnia 2017 przez piotrsz109 Stary wyjadacz (13,730 p.)

Kod powinnien wyglądać tak: 

#include <iostream>
 
using namespace std;
 
string numbers;
 
int main()
{
    getline(cin, numbers);
 
    for(int i=numbers.size()-1; i>=0; i--)
    {
        cout<<numbers[i];
    }
 
 
    return 0;
}

 

komentarz 17 kwietnia 2017 przez BinaryMan Stary wyjadacz (12,620 p.)
Niestety ten kod dalej nie działa
komentarz 6 grudnia 2019 przez mmarszik Mądrala (7,390 p.)

@BinaryMan,
Spróbuj wpisać Ctrl+D na koniec danych.

Podobne pytania

0 głosów
1 odpowiedź 171 wizyt
pytanie zadane 6 lutego 2018 w C# przez Kieszinho10 Początkujący (280 p.)
0 głosów
1 odpowiedź 151 wizyt
pytanie zadane 10 czerwca 2017 w Systemy operacyjne, programy przez ania16177 Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 354 wizyt
pytanie zadane 19 lipca 2017 w SPOJ przez Jakub 0 Pasjonat (23,120 p.)

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...