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

Matura 2017 cz. 2 Zadanie 6 Piksele

Object Storage Arubacloud
0 głosów
896 wizyt
pytanie zadane 6 stycznia 2019 w Java przez krawiecki Początkujący (490 p.)
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class Zadanie6_2 {

    public static void main(String[] args) {

        BufferedReader bf = null;
        String nameOfFile = "dane.txt";

        List<Integer> data = new ArrayList<>();

// wczytywanie liczb z pliku

        try {
            String line = null;
            bf = new BufferedReader(new FileReader(nameOfFile));

            do {
                line = bf.readLine();
                if (line != null) {
                    for (String l : line.split(" ")) {
                        data.add(Integer.valueOf(l));  // dodawanie osobno wszystkich liczb do listy
                    }
                }
            } while (line != null);
        } catch (IOException ex) {
            ex.getMessage();
        }

// zad 6.2
        int iterator;
        int p;
        int counter = 0;
        boolean t;

        for (int i = 0; i < data.size(); i += 320) {

            t = true;
            iterator = i + 320;
            p = iterator ;

            for (int j = i; j < iterator; j++) {

                p--;

                if (data.get(j) != data.get(p)) {
                    t = false;
                    break;
                }

            }

            if (!t) counter++;
        }

        System.out.println(counter);
    }
}

Tu jest mój kod do zadania 6.2

 

TREŚĆ 

W pliku dane.txt znajduje się 200 wierszy. Każdy wiersz zawiera 320 liczb naturalnych zprzedziału od 0 do 255, oddzielonych znakami pojedynczego odstępu (spacjami). Przedstawiają one jasności kolejnych pikseli czarno-białego obrazu o wymiarach 320 na 200 pikseli (od 0 – czarny do 255 – biały).

Napisz program(y), który(e) da(dzą) odpowiedzi do poniższych zadań. Odpowiedzi zapisz w pliku wyniki6.txt, a każdą odpowiedź poprzedź numerem oznaczającym odpowiednie zadanie.

Uwaga: plik przyklad.txt zawiera dane przykładowe spełniające warunki zadania (obraz ma takie same rozmiary). Odpowiedzi dla danych z pliku przyklad.txt są podane pod poleceniami.

ZAD 6.2

Podaj, ile wynosi najmniejsza liczba wierszy, które należy usunąć, żeby obraz miał pionową ośsymetrii. Obraz ma pionową oś symetrii, jeśli w każdym wierszu i-ty piksel od lewej strony przyjmuje tę samą wartość, co i-ty piksel od prawej strony, dla dowolnego 1 ≤ i ≤ 320.

Dla danych z pliku przyklad.txt wynikiem jest 3.

 

Nie mogę znaleźć błędu w tym rozwiązaniu, wczytałem wszystkie liczby jako osobne elementy tablicy, jeden wiersz to 320 liczb czyli porównywałem zerowy element tablicy z 319 i jeżeli będzie on różny wyłamywałem się z wewnętrznej pętli, zwiększając iterator zewnętrznej pętli o 320 i tak do końca, nie wiem czy pomysł jest dobry, w każdym razie nie działa, ponieważ wypisuje wynik 190 a powinien 3.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 793 wizyt
0 głosów
1 odpowiedź 1,052 wizyt
pytanie zadane 25 lutego 2019 w C i C++ przez Dorian Bajorek Dyskutant (7,920 p.)
0 głosów
1 odpowiedź 593 wizyt
pytanie zadane 29 kwietnia 2018 w C i C++ przez Seyn Początkujący (300 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 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!

...