Witam bardzo serdecznie.
Jest takie zadanie na SPOJ'u: http://pl.spoj.com/problems/STOS/
Mój kod w C++ wygląda następująco:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i=0, stos [10], liczba;
string znak;
while (cin >> znak)
{
if (znak == "+")
{
cin >> liczba;
if (i==10)
{
cout << ":(" << endl;
}
else
{
stos [i] = liczba;
cout << ":)" << endl;
i++;
}
}
else if (znak == "-")
{
if (i<=0)
{
cout << ":(" << endl;
}
else
{
cout << stos [i-1];
i--;
}
}
else
{
cout << ":(" << endl;
}
}
return 0;
}
Wynik programu jest raczej dobry, ale z jakiegoś powodu SPOJ pokazuje mi "Błędna odpowiedź". Może to być przyczyna endl, ale nie jestem do końca pewien.
PS. Takie pytanie. Jest jakaś różnica w szybkości działania endl, a \n?