50 / 50
May 19

Masz problem? - najpierw czytaj potem pytaj - tu już padała kilkakrotnie podpowiedź.

PS

A jednak. Takich nie dałeś:
https://ideone.com/D8ztq171

17 days later

https://ideone.com/LWAwjo41

cześć wszystkim, próbowałem już zmienić wszystko, co było opisane w powyższych postach, ale wciąż wyskakuje mi błąd mimo, że przeprowadzam najróżniejsze testy i wszystko działa... Ktoś pomoże?

Nie bardzo rozumiem, jaki masz problem - masz informację o błędzie kompilacji, a nie o złym wyniku

więc może po prostu przeczytaj informację o jaki błąd chodzi (kliknij na bład kompilacji), i to popraw

4 months later

Trochę odkopuje ale nie działa mi kod: według mnie wszystko oki

include

using namespace std;

int main()
{
int32_t a,b;

char znak;
int ile;
int i=0;
cin>>ile;

while(i<ile)
{
cin>>znak>>a>>b;
i++;
switch (znak)
{
case '+':
cout<<a+b<<endl;
break;
case '-':
cout<<a-b<<endl;
break;
case '*':
cout<<a*b<<endl;
break;
case '/':
cout<<a/b<<endl;
break;
case '%':
cout<<a%b<<endl;
break;

}
}
}

"Na wejście programu podana zostanie pewna nieokreślona liczba zestawów danych. "
Nie możesz deklarować ile ma być zestawów, program ma czytać zestawy dopóki uzytkownik go nie zakończy. Poczytaj trochę na temat, jak zdefiniować "nieokreśloną liczbę powtórzeń", w google wszystko jest :wink:

3 months later

Mój kod natomiast nie działa dobrze w samym zarodku - nie wykonuje poprawnie pętli, tj nie wraca z powrotem na podawanie zmiennej tylko od razu wyrzuca wynik i zakańcza jego pracę:

http://ideone.com/cVzMRU18

tekst programu należy przekazywać jako link do ideone.com6 - nie giną fragmenty kodu ani wcięcia, tam też warto przetestować program dla danych przykładowych w zadaniu i jeszcze kilku

a jeżeli pętla wykonuje się tylko raz a nie założoną liczbę razy to może wypada najpierw przyjrzeć się kodowi programu (w okolicach tej pętli) przed pisaniem na forum

warto też przeczytać wątek poświęcony zadaniu - można zaoszczędzić sporo czasu (twojego i odpowiadającego) nie zadając pytań które już były - ja zresztą nie mam zwyczaju odpowiadać na takie powtórzenia

program nie będzie działał poprawnie - w treści zadania nic nie ma o tym, że tych linii jest dokładnie 99 - w tym wątku już jest gdzieś tłumaczone, jak sobie radzić, gdy liczba danych jest nieokreślona

20 days later

Porównaj, potestuj 2 poniższe wersje i zastanów się gdzie tkwi błąd. Kodowanie wymaga [niestety] dokładności i dbałości o szczegóły i szczególiki.:

// 1 - twoja wersja
for (int i = 1; i <= 99; i++);
{
    cout << i << endl;
}

//  2 wersja
for (int i = 1; i <= 99; i++)
{
    cout << i << endl;
}

PS
Ale to jest tylko taki zarodek bez znaczenia dla uzyskania AC - w twoim kodzie są inne, poważniejsze błędy.

13 days later
1 month later

to może po prostu poatrz na wyjście twojego programu na ideone ? - czy autor zadania oczekiwał czegoś takiego ?

a co będzie, jeżeli w ostatniej linii nie ma znaku nowej linii (czyli ostatnim znakiem jest cyfra) ?

kalkulator zaakceptowany, wykorzystałem do tego
" if " zamiast "switch'a" oraz usunąłem "eof "

switch był ok, eof sprawiał problem
usuń kod, bo zbyt bliski rozwiązaniu, niech inni rozwiązują samodzielnie :slight_smile:

Z ciekawości sprawdziłem te rozwiązanie ze switchem i miałeś rację problem leżał tylko z "końcem pliku"

2 months later

Ja natomiast ćwicząc sobie tworzenie funkcji zrobiłem ten kalkulator. Niestety sędzia nie przyjmuje, szukałem na forum ale przyczyny nie znalazłem :confused:

@edit już nie ważne, zapomniałem o tym że miało być w formacie int32 (nigdy się z tym nie spotkałem, ale nauczka dla mnie, działa)

7 years later

A co mam wpisać w while w C# bo program wyświetla mi prawidłowe wyniki ale dostaję info błąd wykonania (SIGABRT)

Na wejście programu podana zostanie pewna nieokreślona liczba zestawów danych.

    while ((line = Console.ReadLine()) != null)
    {
        var parts = line.Split();
        char sign = parts[0][0];
        int a = int.Parse(parts[1]);
        int b = int.Parse(parts[2]);
  ...