Pobieranie liczb po spacji


(Robert664) #1

Jeśli podaję liczby po spacji to jak zrobić aby można je było do siebie dodać, w pierwszej lini podaję ile liczb ma być sumowanych a w drugiej lini podaję liczby oddzielone spacją.

Np. jeśli podam:

3

2 3 4

to aby je sumowało i pokazywało wynik dla przykładu wynosił by on 9.


(rozwalkompa) #2

A jaki język? Bo to ma znaczenie.

W Pascalu bardzo łatwo:

VAR

A:ARRAY[1..1000] of byte;

ile,suma,i:integer;

BEGIN

readln(ile);

FOR i:=1 TO ile-1 DO read(A[i]);

readln(A[ile]);

FOR i:=1 TO ile DO suma:=suma+A[i];

writeln(suma);

readln;

END.

Sprawdzone.


(Robert664) #3

Bardziej mi chodziło w C++ bo ten język się uczę i ćwiczę:slight_smile: Sorki że zapomniałem podać :smiley:


(Sawyer47) #4

W sumie miałem przerwę od C++ na rzecz m.in. Perla, więc może mi się mieszać składnia, ale coś takiego działa całkiem całkiem:

#include 


using namespace std;


int main()

{

cout << "Podaj dowolną ilośc liczb do zsumowania (w jeden linii)\n";

long double suma = 0;

long double liczba = 0;


while(cin.peek() != '\n')

{

	cin >> liczba;

	suma += liczba;

}


cout << "Suma podanych liczb to: " << suma << endl;

}

Oczywiście do modyfikacji wedle twoich kryteriów, ale nie ma nic gorszego niż gotowce :slight_smile:


(Ludr) #5
//Coded by Derka


#include 

#include 

#include 

#include 

using namespace std;


int il,val,suma;

string str;

stringstream ss;


int main()

{



   cout<<"Podaj ilosc liczb: "; cin>>il; fflush(stdin);

   cout<<"Wprowadz liczby: "; getline(cin, str, '\n');

       ss<
       for (int n=0; n> val; suma+=val;}

   cout<<"Suma to: "<

 getch();   

 return 0;   

}

(Robert664) #6

Wielkie dzięki wszystkim za pomoc