zad kasztany main

zad kasztany main
AA
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 10 lat
  • Postów:2
0

Cześć,
Mam problem z zadaniem Kasztany na mainie.
Tu jest link:
http://main.edu.pl/pl/user.phtml?op=showtask&task=kas&con=PAS
Nie wiem za bardzo jak się do tego zabrać, a w szczególności nie mam pojęcia, jak zrobić, żeby na koniec program wypisał sumy.
Próbowałam coś zrobić:
#include<iostream>
using namespace std;

int main()
{
int d;
int n;
int a;
int suma;
suma=0;
cin >> d;
while ( d > 0 )
{cin >> n;
while ( n > 0)
{
cin >> a;
suma = suma + a;
n --;
cout << suma;
}
d --;
}

}
Ale to w ogóle nie działa.

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 miesiące
1

To jest konkurs, skoro nie umiesz to nie powinieneś go przejść, inaczej jest to oszustwo.

Kopiuj
#include <iostream>
using namespace std;
 
int main()
  {
   unsigned child,count,value=0,sum=0;
   for(cin>>child;child--;cout<<sum<<endl) for(cin>>count;count--;sum+=value) cin>>value;
   return 0;
  }

http://ideone.com/RtPGnN


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 1x, ostatnio: _13th_Dragon
Zobacz pozostałe 2 komentarze
AA
Tylko że nie znam za bardzo stylu C, dopiero zaczynam cokolwiek pisać.
_13th_Dragon
scanf to cin, printf to cout, reszta identyczna (no przynajmniej na tym poziomie).
AA
Ok, rozumiem, to to samo, ale to nie wyjaśnia, jak mam zrobić, aby na końcu wypisywał odpowiednie sumy.
_13th_Dragon
Powtarzam: Przenieś to do postu, bo nic nie widać.
MarekR22
Moderator C/C++
  • Rejestracja:około 17 lat
  • Ostatnio:11 minut
1

za często drukujesz sumę
sumujesz wszystkie kasztany zamiast dla poszczególnych dzieci.


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
_13th_Dragon
... oraz wszystkie sumy zlewają się w jedną wielką liczbę
MarekR22
co jest napisane w drugiej linijce.
_13th_Dragon
ja o tym że autor nie dał żadnej spacji czy entera pomiędzy sumami więc wszystko się zlewa.
n0name_l
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 4 lata
  • Postów:2412
1
Kopiuj
#include <stdio.h>

int main(void) {
	unsigned children, days, sum, tmp;
	scanf("%u", &children);
	while(children--) {
		sum = 0;
		scanf("%u", &days);
		while(days--) { scanf("%u", &tmp); sum += tmp; }
		printf("%u\n", sum);
	}
	return 0;
}
AA
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 10 lat
  • Postów:2
0

#include<iostream>
using namespace std;

int main()
{
int d;
int n;
int k;
int suma;
cin >> d;
while ( d > 0 )
{cin >> n;
suma=0;

while ( n > 0)
{
    cin >> k;
    suma = suma + k;
    n --;

}
cout << suma <<"\n";

d --;
}

}

_13th_Dragon
Brakuje znaczników <code>, brakuje formatowania, brakuje return. Nie używaj n-- kiedy możesz użyć --n (jak nie, to później ci to się zemści). Zapoznaj się z operatorami np +=. Poza tym działa: http://ideone.com/KunHTh
AA
Nie, to nie jest to, o co mi chodziło. w tym programie po każdym dziecku wypisuje sumę i dopiero wtedy przechodzi do kolejnego dziecka, a chcę żeby na końcu podał odpowiednie sumy.
_13th_Dragon
Nie chcesz tego, tylko myślisz że to jest od ciebie wymagane, nieporozumienie w związku z brakiem doświadczenia. Patrz: http://ideone.com/KunHTh przecież jest na końcu.
AA
Ok dzięki wielkie już rozumiem :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.