• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[C++] Zadanie maturalne "Obrazki"

Object Storage Arubacloud
0 głosów
1,437 wizyt
pytanie zadane 9 lutego 2016 w C i C++ przez Dronojad Obywatel (1,980 p.)

Witam forumowiczów. Mam pewien problem z maturalnym zadaniem C++.

Treść zadania: Zad. 64.1, str 121-122 LINK

Dane: dane_obrazki.txt

Mój kod C++: http://wklej.org/id/1933240/

Mój program zwraca błędną wartość (dokładnie 0). Niestety nie mogę znaleźć błędu, który to powoduje. Prawidłowy wynik to 13.

Z góry dziękuję za pomoc.

3 odpowiedzi

+1 głos
odpowiedź 9 lutego 2016 przez Noak Mądrala (5,900 p.)
wybrane 9 lutego 2016 przez Dronojad
 
Najlepsza
znalazłem dwa błedy.

1.musisz zerować zmienne licznik1 i licznik0 aby naliczać wartości od 0.

2. musisz czytać też pusty wiersz
komentarz 9 lutego 2016 przez Noak Mądrala (5,900 p.)
Jeśli przygotowujesz się do matury to zachęcam do odwiedzenia tej strony http://algorytm.edu.pl/arkusze-maturalne.html

są tu arkusze z wcześniejszych lat.
komentarz 9 lutego 2016 przez Noak Mądrala (5,900 p.)
Ja też piszę maturę z informatyki w tym roku :) O ile z c++ nie mam problemu to z accesem i exelem trochę kłopotów jest.
komentarz 9 lutego 2016 przez Dronojad Obywatel (1,980 p.)
Hehe, no to bratnia dusza :) Stronkę znam, ale dotychczas wykorzystywałem ją jedynie do przypominania algorytmów. Na pewno przejrzę te arkusze z poprzednich lat. Ty tylko z nich się uczysz?
komentarz 9 lutego 2016 przez Noak Mądrala (5,900 p.)
Głównie tak. Strona jest stworzona przez mojego nauczyciela informatyki. Do matury trzeba ćwiczyć, a zadania z exela i accesa chyba trudno znaleźć, więc z nauczycielem omawiamy zadania z poprzednich matur.

Co to algorytmów to bardziej się przydadzą do części teoretycznej. Bo w praktycznej to i tak trzeba samemu kombinować (to tylko takie moje spostrzeżenie).
komentarz 9 lutego 2016 przez Dronojad Obywatel (1,980 p.)
Ja ze swojej strony mogę Ci polecić tę stronę: http://www.maturainformatyka.pl/

Są tam rozwiązania zadań z poprzednich matur wraz z opisem, są też z excela i accessa :)

No i jeszcze polecę Ci ten zbiór zadań od CKE, są tam też zadania z excela i accessa z rozwiązaniami: http://www.cke.edu.pl/images/_EGZAMIN_MATURALNY_OD_2015/Materialy/Zbiory_zadan/Matura_Zbi%C3%B3r_zada%C5%84_Informatyka.pdf

 

I jeszcze mam pytanko, Ty chodzisz do liceum czy technikum? Obstawiam że technikum skoro masz informatykę :D

Ja chodzę do liceum i informatyki niestety nie mam już w ogóle :( co mnie trochę boli. Dlatego muszę się uczyć sam w domu. Dobrze że w szkole mam matematykę na wysokim poziomie, to może jakoś ta matura pójdzie :D
+1 głos
odpowiedź 9 lutego 2016 przez Porcupine Nałogowiec (31,560 p.)

Hej! 

Wieczorem będe miec trochę więcej czasu żeby sprawdzić, więc jeśli nikt do tego czasu nie udzieli satysfakcjonującej odpowiedzi to postaram się pomóc. Z rzeczy, które widzę teraz: 
 

  •  Wydaje mi się, że w zły sposób wczytujesz dane. Tak jakby wczytujesz tylko jeden, dziewiętnasty wiersz każdego obrazka. 
  • Fajnym pomysłem byłoby zastąpienie dwóch funkcji ile0() i ile1() jedną, ponieważ są one prawie identyczne. Mógłbyś zrobić funkcję, która będzie mieć dodatkowy paretr char znak; który w zależności od wywołanie będzie równy '0' lub '1'. 

 

Pozdrawiam,

komentarz 9 lutego 2016 przez Dronojad Obywatel (1,980 p.)
No właśnie z tym miałem mały problem, nie wiedziałem jak dokładnie sprawić aby program odczytywał dokładnie 20 linii z pliku wyjściowego dla każdego obrazka.

Dlatego dodałem tego ifa sprawdzającego czy i==19, jeśli tak to pobierz tą wartość ale nie wliczaj jej do wyniku. Myślałem że takie rozwiązanie będzie OK, no ale jak widać nie działa :(

Dodatkowo trzeba też pominąć ostatni znak w każdej linii pliku wyjściowego.

Dlatego do funkcji zliczającej jedynki i zera dodałem pętlę for, która wykonuje się do i<s.length()-1
0 głosów
odpowiedź 10 lutego 2016 przez Dronojad Obywatel (1,980 p.)

Chciałbym jeszcze zapytać jak to jest z tymi pustymi liniami w pliku wejściowym.

Czy trzeba je uwzględniać podczas wczytywania do programu czy nie?

Napisałem taki mały program dla testu, stworzyłem plik wejściowy z dwoma wierszami - pierwszy pusty i drugi z tekstem.

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream wejscie("input.txt");
    string lala;
    wejscie >> zmienna;

    cout << zmienna;
    return 0;
}

Powyższy program wyświetlił tekst z drugiego wiersza. Czy dobrze myślę, że program ignoruje puste wiersze?

Podobne pytania

+1 głos
2 odpowiedzi 4,230 wizyt
pytanie zadane 7 stycznia 2016 w C i C++ przez stivi212 Nowicjusz (230 p.)
0 głosów
1 odpowiedź 2,849 wizyt
pytanie zadane 27 lutego 2018 w C i C++ przez Scypyon Gaduła (3,450 p.)
0 głosów
0 odpowiedzi 1,128 wizyt

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...