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

SPOJ Czy Kod...

Object Storage Arubacloud
0 głosów
448 wizyt
pytanie zadane 18 listopada 2016 w C i C++ przez c2yku Początkujący (250 p.)

Witam, jestem lajkiem w programowaniu ale robię już któryś kod z kolei nad którymi się głowie po dwa dni jak nie więcej. Mimo, że wynik(wyjście) wychodzi poprawnie i tak mi nie zalicza zadania.. np nad tym.. który właśnie dokończyłem (niby teraz proste ale sie musialem nagłowić ;d) -  tu zadanie : http://pl.spoj.com/problems/SUMA/
Nie wiem czy to jakoś inaczej trzeba pisać te kody pod spoja czy wydaje mi się że mój kod już jest ok (mimo, że daje dobre wyjscie) zobaczcie jeśli możecie :
 

#include <iostream>
#include <cstdlib>
using namespace std;
int  liczba[200];
int suma[200];
int ile;
int main()
{
    cout<<"Podaj ilosc liczb: "; cin>>ile;
    cout<<"Podawaj liczby z przedzialu od -100 do 100 "<<endl;;

    for(int i=0; i<ile; i++)
    {
            cin>>liczba[i];
            cout<<endl;
            if((liczba[i]>-100) && (liczba[i]<100))     {suma[i]= suma[i-1]+liczba[i];}
            else if (liczba[i]<-100)                    {cout<<"Za mala liczba!"; i--;}
            else                                        {cout<<"Za duza liczba! Powtorz liczbe"; i--;}

    }
    system("cls");
    for(int i=0; i<ile; i++)
    cout<<suma[i]<<endl;

    return 0;
}

 

5 odpowiedzi

+1 głos
odpowiedź 18 listopada 2016 przez niezalogowany

Jedyne czego potrzebujesz to pętla while(cin>>liczba) i oczywiście reszta instrukcji.

+1 głos
odpowiedź 18 listopada 2016 przez Knayder Nałogowiec (37,640 p.)
Nie dawaj ozdobników w kodzie do sprawdzajki ....
system("cls"), couty które nie zawierają odpowiedzi itp.
+1 głos
odpowiedź 18 listopada 2016 przez Knayder Nałogowiec (37,640 p.)

Teraz zajmę się samym wejściem. Cytując zadanie: "Na wejście programu podana zostanie pewna nieokreślona".
Twój program pobiera ilość liczb jakie zostaną wprowadzone, a to już jest źle.


Nie musisz sprawdzać czy liczby mieszczą się w danym zakresie, to jest tylko informacja żebyś wiedział na jakich typach danych najlepiej pracować.


Sposób zapisu danych do tablicy suma też zostawia wiele do życzenia. 
W pierwszym przejściu pętli program wykonuje mniej więcej coś takiego:
 

suma[0] = suma[-1]+liczba[0];

Indeksem tablicy nie może być liczba ujemna.

0 głosów
odpowiedź 18 listopada 2016 przez Knayder Nałogowiec (37,640 p.)
#include <iostream>
using namespace std;
int main()
{
	int liczba, suma=0;
	while (cin >> liczba) {
		suma+= liczba;
		cout << suma<< endl;
	}
	return 0;
}

Ten kod jest poprawny. Tylko nie wrzucaj go na chama, tylko przeanalizuj i zrozum jak działa.

0 głosów
odpowiedź 18 listopada 2016 przez c2yku Początkujący (250 p.)
Czyli trochę przekombinowałem.. No Twój kod wydaję się zrozumiały i sensown ale totalnie nie wiedziałem i nie wpadło mi do głowy, że można cin wpisać w while.. Na początku też zrobiłem podobny i prosty kod z for ale mi go nie przyjmowało. Dzięki za pomoc w razie czego będę pytał pewnie nie raz jak już nie będę wiedział co robić.
komentarz 18 listopada 2016 przez Knayder Nałogowiec (37,640 p.)
Ważne że jak sam napisałeś, starałeś się to zrobić przez kilka dni.

Podobne pytania

0 głosów
1 odpowiedź 161 wizyt
pytanie zadane 24 stycznia 2020 w C i C++ przez Programator6909 Użytkownik (780 p.)
0 głosów
1 odpowiedź 267 wizyt
pytanie zadane 9 września 2019 w SPOJ przez Marcin Knapik Nowicjusz (240 p.)
0 głosów
1 odpowiedź 234 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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!

...