Pokaż wyniki 1 do 3 z 3

Temat: Sumy wielokrotne

  1. #1
    Avatar kainsawk
    kainsawk jest offline dum spiro, spero.
    Zarejestrowany
    Dec 2009
    Skąd
    ke?
    Postów
    162

    Domyślnie Sumy wielokrotne

    Mam kolejny raz problem z tym samym zadaniem chociaż robię je któryś raz od początku.
    Chodzi o to zadanie (link): https://pl.spoj.pl/problems/KC008/

    Kod:
    #include <iostream>
    using namespace std;
     
    int main ()
    {
     int liczba, suma = 0;
     long long sumak = 0; /* suma koncowa */
     
     while(cin >> liczba)
     {
      if(liczba != 0) {suma += liczba;}
      else
      {
       cout << suma << endl;
       sumak += suma;
       suma = 0;
      }
     
     }
     
     cout << sumak << endl;
     
    return(0);
    }
    Dla podanych danych testowych działa dobrze, podobnie jak dla moich wymyślonych.
    Ostatnio edytowane przez kainsawk : 03-15-2010 - 18:42

  2. #2
    Zarejestrowany
    Mar 2010
    Postów
    55

    Domyślnie

    Dość długo siedziałem kiedyś w tych zadaniach na SPOJu i często miewałem podobne problemy - trywialne zadanie, mi podaje prawidłowy wynik a jak wyśle to jest zły.
    Jakby to były liczby zmiennoprzecinkowe to bym powiedział, że masz odchylenia w dokładności, ale tutaj tego powiedzieć się raczej nie da.
    Prawdopodobnie masz coś źle z "sumak", bo to w pętli mi się wydaje dosyć dobrze zrobione.
    Popróbuj z innymi operatorami przy tej zmiennej (może 'long int' po prostu?).

    Chociaż może wystarczy jak dodasz "unsigned" bo o ile pamiętam to w treści zadania nie ma warunku czy te liczby są dodatnie.

  3. #3
    Avatar kainsawk
    kainsawk jest offline dum spiro, spero.
    Zarejestrowany
    Dec 2009
    Skąd
    ke?
    Postów
    162

    Domyślnie

    Niestety, liczby ujemne też wchodzą w grę.
    -----
    Z komentarz wywnioskowałem (źle), że sumak ma być long long, a jednak wszystkie powinny takie być.
    Problem rozwiązany.
    Ostatnio edytowane przez kainsawk : 03-16-2010 - 07:47

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj