Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

C++ Proste pytanie


Rekomendowane odpowiedzi

Opublikowano

Witam, mam takie zadanie na kurs programowania:

 

 

kw3JxmL.png

 

 

 

I nie mam pojęcia, o co chodzi z tym znakiem pliku EOF, w necie też nic nie mogę znaleźć. Myślałem że jak dam to poza pętlą to zadziała, ale nie mam pojęcia o co chodzi.

 

O to mój kod: (swoja droga zauwazylem ze na koncu nie musze dawac petli for tylko moge zwyczajnie dodac od razu do 'result', takze nie piszcie ze moge to zrobic w taki sposob ;d)

#include <iostream>

using namespace std;
int number[30000];
int amount = 0, result, written;
int main(){

while(true){
    cin >> written;
    if(written%3==0){
       number[amount] = written; amount++;
    }
}
for(int i = 0; i<amount; i++){
    result += number[i];
}
cout << result;
}


Poprawiony kod (ktory zwyczajnie jest krotszy i bedzie dzialal szybciej)

#include <iostream>

using namespace std;
int result, written;
int main(){

while(true){
    cin >> written;
    if(written%3==0){
       result += written;
    }
}

cout << result;
}

Hello there.

Opublikowano

EOF jest skrótem od End Of File. Wpisując EOF C++ i End Of Line C++ masz dużo wyników, nie mam pojęcia jak szukałeś, że nie znalazłeś  o.O

http://cpp0x.pl/kursy/Kurs-C++/Obsluga-plikow/305

Na końcu masz opisaną funkcję eof() z przykładem.

Co mi z tego przykładu, skoro w tym zadaniu nic nie otwieram, żadnego pliku...

 

.. 

 

Ma to wyswietlić rezultat po jakimś EOF, ale niezbyt to rozumiem.

Hello there.

Opublikowano

EOF to koniec pliku i to pojęcie stosuje się również do standardowego wejścia. Przykład na końcu można zastosować zarówno do plików z std::ifstream, jak i do std::cin.

Opublikowano

EOF to koniec pliku i to pojęcie stosuje się również do standardowego wejścia. Przykład na końcu można zastosować zarówno do plików z std::ifstream, jak i do std::cin.

Można jakiś przykład z podstawieniem do mojego kodu? Nigdy wcześniej z tym nic nie robiłem. 

Juz mam dziekuje za pomoc :)

#include <iostream>

using namespace std;
int result, written;
int main(){

while(!cin.eof()){
    cin >> written;
    if(written%3==0){
       result += written;
    }
}

cout << result;
}

Hello there.

Opublikowano

Masz wyjaśnienie jak to działa oraz przykład na końcu tego, co ci podesłał Wolen.

Opublikowano

Masz wyjaśnienie jak to działa oraz przykład na końcu tego, co ci podesłał Wolen.

Juz sobie poradzilem jednakze cos jest nie tak w tym programie:

 

XU6x9gO.png

 

Nie dostałem pełnej ilości punktów, coś jest źle. Jakieś pomysły?

 

Po wpisaniu "3 2 2 6" wyskakuje '1' zamiast 9, ale nie mam pojecia dlaczego.

 

@@edit

 

poradzilem sobie,

 

#include <iostream>


using namespace std;
int result, written;
int main(){


while(!cin.eof()){
    cin >> written;
    if(!cin.eof()){
    if(written%3==0){
       result += written;
    }
    }
}


cout << result;
}

Hello there.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...