fork download
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <stdlib.h>
  4. using namespace std;
  5.  
  6. int main(){
  7.  
  8. char *buff = (char*)malloc(10000);// alokacja na dane wejsciowe
  9. int r = read(0, buff, 10000);// zapisanie długosci stdin i danych stdin do buffora
  10.  
  11. int i = 0;// iterator po bufforze
  12. int a;// zmienna do zapisywania kolejnych wchodzących liczb
  13. int sign;// znak liczby wejsciowej
  14.  
  15. int sum = 0;// zmienna do zapisywania sumy
  16.  
  17. // sprawdzam czy nie wyszedłem za tablicę
  18. while(i < r){
  19.  
  20. sign = 0;// ustawiam znak na 0
  21.  
  22. // sprawdzam znak liczby
  23. if(buff[i] == '-'){
  24. sign = 1;
  25. i++;// przesuwam się o znak minusa
  26. }
  27.  
  28. a = 0;// zeruje liczbę
  29.  
  30. // dopisuję kolejną częć liczby aż do znaku innego od cyfry
  31. while(buff[i] > 47){
  32. a = a*10 + buff[i++] - 48;
  33. }
  34.  
  35. // ustawiam znak liczby
  36. if(sign == 1){
  37. a *= -1;
  38. }
  39.  
  40. sum += a;// dodaje liczbe do sumy
  41.  
  42. if(buff[i] != ' '){
  43. printf("%d ",sum);// wypisuję sume
  44. sum = 0;// zeruje sume
  45. }
  46.  
  47. i++;// przesuwam się o kolejny znak do kolejnej liczby
  48.  
  49. }
  50.  
  51. return 0;
  52.  
  53. }
Success #stdin #stdout 0s 15232KB
stdin
3 3 3
1 1 1
38 31 38
38 -31 38
stdout
9 3 107 45