Matura - rozwiązania

0

Witam,
Będę pisał maturę z informatyki w 2010 roku.
Niestety na liści nie ma moich ulubionych języków. Jedynym z dostępnych, który trochę ogarniam jest Java. Nie jestem zbyt dobry z programowania w niej, właściwie to rozpocząłem naukę tak o, z ciekawości (teraz widzę mi się przyda).
Dlatego mam prośbę: czy mógłby ktoś rozwiązać parę przykładów z programowania w tym właśnie języku? Chodzi mi o podłapanie jakiś dobrych rozwiązań jak operować na plikach, informacjach tablicach. Wystarczy tylko kilka zadań, resztę będę chciał rozwiązać sam, i ewentualnie wystawić do oceny.
Myślę, że to pomoże nie tylko mi, a dla piszących na co dzień w tym języku będzie to dobra odskocznia do odświeżenia sobie podstaw.
Z góry bardzo dziękuje i pozdrawiam, Prawie Maturzysta.

PS. Tu są przykłady: http://www.edulandia.pl/Edulandia/0,98403.html . Interesuje mnie poziom podstawowy, jednakże stare matury są tylko rozszerzone, te też będę próbować zrobić.

0

http://spoj.pl/ polecam do nauki takich zadan, tez pisze z infy(moze nawet rozszerzona jak sie dobrze przygotuje;]) mature za rok (java), postaram sie jak znajde czas napisac odpowiedzi, tylko sobie przypomne operacje na plikach.

0

Oooo niezle ze mozecie z Javy maturę pisać. Ale szczerze wam powiem, że naukę powinniscie rozpocząc od klasycznego C później C++. Java i samo IDE Javy strasznie ułatwia sprawę. Na maturze zapewne nikt wam nie bedzie tak pomagał.

0

Do dyspozycji mamy: - Java SE Development Kit 6 lub nowszy + edytor Eclipse Classic 3.5.0 lub nowszy . A c++? Znam podstawy, ale język jakoś do mnie nie przemawia. Wolę PHP i Pythona tak osobiście.

0

Jesli zamierzasz isc na studia inf. to na poczatku zmierzysz sie z C/C++. Tak zazwyczaj jest i tak bylo u mnie. Ja jave dopiero teraz mialem. Na 2 roku. Zatem juz na samych studiach moze byc ci latwiej jesli poznasz C/C++. Poza tym w tych językach tworzy sie bardziej optymalne prograny. Oczywiscie jesli nie doprowadzisz do wycieku pamieci ;-)

0

matura i java wg. mnie to dosyć dobre rozwiązanie ponieważ trzeba znać dobrze klasę scanner + operacje na plikach, logicznie myśleć i w sumie część praktyczna z głowy. A na studia każde doświadczenie na dłuższy okres z programowaniem się sporo przyda niżeli ktoś dopiero zaczyna na studiach.
Jeśli chodzi o pisanie maturyz informatyki, to dana komisja pozwoli używać IDE np. Eclipse które jest bardzo wygodne, przyjemne w pisaniu, czy po prostu np, gedit na linuxie + javac i to tyle ?Bo nie wiem jak będzie u mnie. ale na 30 osób w tech. inf. to może nas z 2-4 będzie tylko zdawać infę. + z tego co się doczytałem chyba nic oprócz obowiązkowych nie trzeba brać, temu, że jest matematyka obowiązkowa, a jeżeli ktoś chce dodatkowy pisać, to musi go brać na rozszerzonym lub jakiś z podstawowych na rozszerzonym i wtedy np. infę podstawy może wziąć.

0

A ja ci szczerze polecam C++/CLI. Swój czas przeznaczysz na implementację algorytmu, a nie stresową walkę z językiem. Np. na tegorocznej maturze trzeba było wygenerować obrazek. I weź tutaj coś w czystym C++ napisz ;).

Od razu uprzedzam wszystkich, którzy będą twierdzić, że .NET nie można używać na maturze - połowę swojej matury napisałem w .NET, podopisywałem w komentarzach "kompilować z /clr z następującymi referencjami" i miałem 81%, więc raczej z powodu języka nic mi nie odjęli.

0

A tak z ciekawosci, po co komu matura z inf.? Przeciez tego nikt nie bierze pod uwage. Liczy sie matma i fiza chyba ze cos sie zmienilo?

0

@cfaniak: C++ troszeczkę znam, ale nie na tyle żeby pisać z niego maturę, poza tym jakoś nie lubię tego języka.
Matura z matematyki jest obowiązkowa. Zostaje informatyka i fizyka.

@nietopereek: Można używać tego: http://cke.edu.pl/index.php?option=content&task=view&id=807&Itemid=2 , ale jakoś o edytorach dla Linuksa nie bardzo wspominają (poza tym Linux jest bardzo ubogi w porównaniu z Windows).
A jak się doczytałeś? Nie muszę brać informatyki? A jak jednak wybiorę to jeden z przedmiotów musi być rozszerzony? A jak nie zaliczę rozszerzonej informatyki to zdaję?

@Rev.pl: Jaki obrazek? Podstawowa czy rozszerzona?

0

@cfaniak, tam gdzie jest informatyka wydział często traktują matmę i infę tak samo, np. jak na politechnice gdańskiej, że nie trzeba zdawać matmy jeżeli infę się brało bo ją będa zamiast matmy liczyli.
@Prawie maturzysta - 1rok to sporo by się nauczyć, nawet na poziom rozszerzony bo szczerze patrząc na zadania to aż tak trudno nie jest, tylko po prostu trzeba dużo przy tym posiedzieć i wykodzić, ja np. wole zdawać infe rozszerzoną niż matmę bo z infy raczej więcej będę miał %, pomimo tego, że z matmy jest bardzo dobry.

0
nietopereek napisał(a)

wole zdawać infe rozszerzoną niż matmę bo z infy raczej więcej będę miał %, pomimo tego, że z matmy jest bardzo dobry.

żebyś się nie zdziwił w lipcu przyszłego roku :P Statystyki mowia same za siebie.

0

@sdfgjf: Podziel się tymi statystykami.

0

A tak w ogóle to orientuje się ktoś może czy można używać kalkulatora? Na tej części teoretyczne, nie-programowanie? Bo na programowaniu jest oczywiste.

0
sdfgjf napisał(a)
nietopereek napisał(a)

wole zdawać infe rozszerzoną niż matmę bo z infy raczej więcej będę miał %, pomimo tego, że z matmy jest bardzo dobry.

żebyś się nie zdziwił w lipcu przyszłego roku :P Statystyki mowia same za siebie.

ja patrzę na moje umiejętności na przyszły rok, nie na statystyki.

0

Ja na waszym miejscu bym się uczył tylko MATMY, a nie infy. Tak jak ktos pisał wczesniej ze na niektorych mozna wybrac pomiedzy matma i infą co jest dla mnie czyms dziwnym. Bo bez znajomości matmy ani rusz z niektorymi rzeczami. Moje zdanie jest takie że lepiej się nauczyć dobrze jednej rzeczy niż klepać obie. Wtedy otwierają się większe możliwości, a jeśli ktoś jest słaby z matmy to nie ma najmniejszych szans utrzymać się na informatyce (chyba że na prywatnej uczelni lub publicznej o bardzo niskiego poziomie). Ja będąc dziś maturzystą czas poświęciłbym nauce matmie/fizie i polskiemu no i językowi angielskiemu, a nie traciłbym czasu na infe. Jak ktos chce to niech sobie zdaje ale ja uwazam ze to zbędny stres bo nic z tego nie będziecie mieli.

Pozdro

0

Ponawiam temat. Czy mógłby ktoś podrzucić jedno rozwiązane zadanie w javie? Bo jakoś średnio mi ten język pasuje. Z góry dziękuję.

0

Albo może pokaże na czym stanąłem:
Zadanie 4 podpunkt a)
Wymyśliłem to sobie tak:
sprowadzić wszystko do takiej tablicy

tablica[rok][styczen]
                [luty]
                ....
                [grudzień]

i napisałem tylko tyle:

import java.io.FileInputStream;
import java.io.IOException;

public class Matura1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		String przeczytane = "";
		int znak = 0;
		String tablica[];
		String tablica2[][];
		String test;
		
		try {
			FileInputStream wejscie = new FileInputStream("temp.txt");
			znak = wejscie.read();
			while (znak != -1) {
				przeczytane += (char)znak;
				znak = wejscie.read();
			}
			tablica = przeczytane.split("\n");
			for (int i = 0; i < tablica.length; i++) {
				test = tablica[i];
				tablica2[i+1779][] = test.split(" ");
			}
		}
		catch (IOException ex) {
			System.out.print("Wystąpił błąd"+ex);
		}
		
	}

}

I nie można konwertować stringu do stringu. Jakieś pomysły jak to rozwiązać?

0

http://cdn.gazeta.pl/bi.gazeta.pl/im/2/6636/m6636872.pdf
Stąd oczywiście jest to zadanie.

0

Interesuje Cię rozwiązanie zadania 4a, czy całego zadania 4? Pytam, bo jeżeli tylko 4a, to potrzebna jest znacznie prostsza struktura do pamiętania przeczytanych danych.

0

Całe. Ale bym nie pogardził też tylko a) jeżeli jest prostszy sposób, żeby się nauczyć czegoś z tej Javy.

0

Proszę bardzo

import java.io.*;
import java.text.*;

public class Zad4a
{
    public static void main(String[] args)
    {
        String rok="";
        double min=Double.MAX_VALUE;
        try
        {
            BufferedReader input=new BufferedReader (new FileReader("temp.txt"));
            while (input.ready())
            {
                String[] dane=input.readLine().split(" ");
                double suma=0;
                for(int i=1;i<dane.length;i++)
                {
                    suma+=Double.parseDouble(dane[i].replace(",","."));
                }
                if(suma/12<min)
                {
                    rok=dane[0];
                    min=suma/12;
                }
            }
            input.close();
     	}
     	catch(Exception e)
     	{
            System.out.println(e);
            System.exit(0);
     	}
     	DecimalFormat df=new DecimalFormat("##.##");
        System.out.println("Najnizsza srednia roczna = "+df.format(min)+" wystapiła w roku "+rok);
    }
}
0

Próbowałem rozwiązać zadanie 4 stąd: http://cdn.gazeta.pl/bi.gazeta.pl/im/2/6636/m6636872.pdf
Przykładowe dane są tu: http://cdn.gazeta.pl/bi.gazeta.pl/im/2/6637/m6637282.zip plik temp.txt

Mój program generuje coś takiego:

a) 1829
b) 1989
c) nullW roku 1779 najniższa temperatura była w miesiącu 1, a najwyższa w 8
W roku 1780 najniższa temperatura była w miesiącu 1, a najwyższa w 0
W roku 1781 najniższa temperatura była w miesiącu 0, a najwyższa w 8
W roku 1782 najniższa temperatura była w miesiącu 2, a najwyższa w 0
W roku 1783 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1784 najniższa temperatura była w miesiącu 1, a najwyższa w 0
W roku 1785 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1786 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1787 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1788 najniższa temperatura była w miesiącu 12, a najwyższa w 0
W roku 1789 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1790 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1791 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1792 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1793 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1794 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1795 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1796 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1797 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1798 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1799 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1800 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1801 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1802 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1803 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1804 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1805 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1806 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1807 najniższa temperatura była w miesiącu 0, a najwyższa w 8
W roku 1808 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1809 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1810 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1811 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1812 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1813 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1814 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1815 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1816 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1817 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1818 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1819 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1820 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1821 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1822 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1823 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1824 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1825 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1826 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1827 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1828 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1829 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1830 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1831 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1832 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1833 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1834 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1835 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1836 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1837 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1838 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1839 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1840 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1841 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1842 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1843 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1844 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1845 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1846 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1847 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1848 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1849 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1850 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1851 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1852 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1853 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1854 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1855 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1856 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1857 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1858 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1859 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1860 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1861 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1862 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1863 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1864 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1865 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1866 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1867 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1868 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1869 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1870 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1871 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1872 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1873 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1874 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1875 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1876 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1877 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1878 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1879 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1880 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1881 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1882 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1883 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1884 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1885 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1886 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1887 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1888 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1889 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1890 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1891 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1892 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1893 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1894 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1895 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1896 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1897 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1898 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1899 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1900 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1901 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1902 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1903 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1904 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1905 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1906 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1907 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1908 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1909 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1910 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1911 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1912 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1913 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1914 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1915 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1916 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1917 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1918 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1919 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1920 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1921 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1922 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1923 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1924 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1925 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1926 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1927 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1928 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1929 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1930 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1931 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1932 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1933 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1934 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1935 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1936 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1937 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1938 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1939 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1940 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1941 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1942 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1943 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1944 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1945 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1946 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1947 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1948 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1949 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1950 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1951 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1952 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1953 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1954 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1955 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1956 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1957 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1958 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1959 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1960 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1961 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1962 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1963 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1964 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1965 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1966 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1967 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1968 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1969 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1970 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1971 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1972 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1973 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1974 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1975 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1976 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1977 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1978 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1979 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1980 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1981 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1982 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1983 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1984 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1985 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1986 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1987 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1988 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1989 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1990 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1991 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1992 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1993 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1994 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1995 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1996 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1997 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1998 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 1999 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 2000 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 2001 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 2002 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 2003 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 2004 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 2005 najniższa temperatura była w miesiącu 0, a najwyższa w 0
W roku 2006 najniższa temperatura była w miesiącu 0, a najwyższa w 0

d) Cią zaczął się w roku 1864, trwał do roku 1868 i miał długość 4

A jego źródło to:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;


public class Zad4 {

	public static void main(String[] args) {
		
		String rokMax = null;
		double maxTemp = Double.MIN_VALUE;
		String rokMin = null;
		double minTemp = Double.MAX_VALUE;
		String tempWLatach = null;
		double minWMiesiacu = Double.MAX_VALUE;
		double maxWMiesiacu = Double.MIN_VALUE;
		String minMiesiac = null;
		String maxMiesiac = null;
		double ostatniZnCiagu = Double.MAX_VALUE;
		int najdluzszyCiag = 0;
		int rokNajdluzszegoCiagu = 1779;
		int najdluzszyCiagSt = 0;
		int rokNajdluzszegoCiaguSt = 0;
		
		try {
			BufferedReader odczyt = new BufferedReader(new FileReader("temp.txt"));
			
			while (odczyt.ready()) {
				String[] dane = odczyt.readLine().split(" ");
				double sredniaTemp = 0;
				for (int i = 1; i < dane.length; i++) {
					sredniaTemp += Double.parseDouble(dane[i].replace(",", "."));
				}
				if (sredniaTemp/12 < minTemp) {
					minTemp = sredniaTemp/12;
					rokMin = dane[0];
				}
				if (sredniaTemp/12 > maxTemp) {
					maxTemp = sredniaTemp/12;
					rokMax = dane[0];
				}
				
				int blah1 = 0, blah2 = 0;
				for (int i = 1; i < dane.length; i++) {
					double temperatura = Double.parseDouble(dane[i].replace(",","."));
					if (temperatura < minWMiesiacu) {
						minWMiesiacu = temperatura;
						blah1 = i;
					}
					if (temperatura > maxWMiesiacu) {
						maxWMiesiacu = temperatura;
						blah2 = i;
					}
				}
				
				tempWLatach += "W roku "+dane[0]+" najniższa temperatura była w miesiącu "+blah1+", a najwyższa w "+blah2+"\r\n";
				
				double sierpien = Double.parseDouble(dane[8].replace(",", "."));
				if (ostatniZnCiagu < sierpien) {
					najdluzszyCiag++;
					if (najdluzszyCiag > najdluzszyCiagSt) {
						rokNajdluzszegoCiaguSt = rokNajdluzszegoCiagu;
						najdluzszyCiagSt = najdluzszyCiag;
					}
				}
				else {
					najdluzszyCiag = 0;
					rokNajdluzszegoCiagu = Integer.parseInt(dane[0]);
				}
				ostatniZnCiagu = sierpien;
				
			}
			
			odczyt.close();
			
			int rokZakonczenia = rokNajdluzszegoCiaguSt+najdluzszyCiagSt;
			
			BufferedWriter zapis = new BufferedWriter(new FileWriter("zad_4.txt"));
			zapis.write("a) "+rokMin+"\r\n" +
						"b) "+rokMax+"\r\n" +
						"c) "+tempWLatach+"\r\n" +
						"d) Cią zaczął się w roku "+rokNajdluzszegoCiaguSt+", trwał do roku "+rokZakonczenia+" i miał długość "+najdluzszyCiagSt);
			zapis.close();
		}
		catch (Exception e) {
			System.out.print("Wystąpił błąd: "+e);
		}

	}

}

Gdyby ktoś mógł sprawdzić co się dzieje z podpunktem c) oraz czy reszta jest rozwiązane ...

0

c) zrobiłeś nie na temat i z dwoma błędami, powinno być

   String tempWLatach = "";

w pętli czytającej brak "zerowania"

                                int blah1 = 0, blah2 = 0;
                                minWMiesiacu=Double.MAX_VALUE;
                                maxWMiesiacu=Double.MIN_VALUE;
                                for (int i = 1; i < dane.length; i++) {
                                        double temperatura = Double.parseDouble(dane[i].replace(",","."));
                                        if (temperatura < minWMiesiacu) {
                                                minWMiesiacu = temperatura;
                                                blah1 = i;
                                        }
                                        if (temperatura > maxWMiesiacu) {
                                                maxWMiesiacu = temperatura;
                                                blah2 = i;
                                        }
                                }

d) nie sprawdzałem, ale

Cią zaczął się w roku 1864, trwał do roku 1868 i miał długość 4

Policz na palcach, taki ciąg ma długość 5.

0

To w takim razie jak powinna wyglądać odpowiedź na temat? Siedziałem z 15 minut nie mogąc wymyślić o co chodzi, więc zrobiłem to tak.

0

Próbowałem rozwiązać zadanie 5. Wynikiem tego est ten kod:
<java>
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;

public class Zad5 {

public static void main(String[] args) {
	
	// Zmienne
	int[] liczbyPierwsze = null;
	int[] kwadraty = null;
	
	int licznik = 1;
	for (int i = 1; i <= 1000; i++) {
		// Zapisz wszystkie liczby pierwsze od 1 do 1000.
		if (czyPierwsza(i)) {
			liczbyPierwsze[licznik] = i;
			licznik++;
		}
	}
	
	for (int i = 1; i < liczbyPierwsze.length; i++) {
		// Zapisz kwadraty liczb pierwszych.
		kwadraty[i] = liczbyPierwsze[i] * liczbyPierwsze[i];
	}
	
	try {
		BufferedReader odczyt = new BufferedReader(new FileReader("liczby.txt"));
		String kwadratyDoZapisu = "";
		
		while (odczyt.ready()) {
			String liczbaZPliku = odczyt.readLine();
			int liczba = Integer.parseInt(liczbaZPliku);
			
			for (int i = 1; i < kwadraty.length; i++) {
				// Jeżeli kwadrat liczby pierwszej jest tym co jest w aktualnej linijce to go dopisz do listy.
				if (kwadraty[i] == liczba)
					kwadratyDoZapisu += liczba+"\r\n";
			}
		}
		
		odczyt.close();
		
		// Zapisz wynik.
		BufferedWriter zapis = new BufferedWriter(new FileWriter("zad_5.txt"));
		zapis.write(kwadratyDoZapisu);
		zapis.close();
	}
	catch (Exception e) {
		System.out.print("Wystąpił błąd: "+e);
	}
}

public static boolean czyPierwsza(int liczba) {
	// Liczby 2, 3, 5 i 7 są pierwsze.
	if (liczba == 2 || liczba == 3 || liczba == 5 || liczba == 7)
		return true;
	else {
		// Jeżeli liczba dzieli się przez 2, 3, 5 lub 7 nie jest pierwsza
		if (liczba%2 == 0 || liczba%3 == 0 || liczba%5 == 0 || liczba%7 == 0) 
			return false;
		else
			return true;
	}
		
}

}
</java>

Po przekompilowaniu (bez błedów) i uruchomieniu moim oczom ukazuje się taki oto błąd:

Exception in thread "main" java.lang.NullPointerException
at Zad5.main(Zad5.java:19)

Co jest grane?

0

int[] liczbyPierwsze = null;

Wtf?

int[] liczbyPierwsze = new int[potrzebnyRozmiar];

Umieszcaj kod między znacznikami < code=java > i < code > bez odstępów.

0

Dzięki :) . Przypomniałem sobie o ArrayList. Poniżej prezentuję działający program do zadania 5. Tylko coś mało liczb generuje jak na tak duży zbiór początkowy, ale widocznie tak miało być.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;


public class Zad5 {

	public static void main(String[] args) {
		
		// Zmienne
		//int[] liczbyPierwsze = null;
		ArrayList<Integer> liczbyPierwsze = new ArrayList<Integer>();
		//int[] kwadraty = null;
		ArrayList<Integer> kwadraty = new ArrayList<Integer>();
		
		int licznik = 1;
		for (int i = 1; i <= 1000; i++) {
			// Zapisz wszystkie liczby pierwsze od 1 do 1000.
			if (czyPierwsza(i)) {
				liczbyPierwsze.add(i);
				licznik++;
			}
		}
		liczbyPierwsze.trimToSize();
		
		for (int i = 1; i < liczbyPierwsze.size(); i++) {
			// Zapisz kwadraty liczb pierwszych.
			kwadraty.add(liczbyPierwsze.get(i) * liczbyPierwsze.get(i));
		}
		kwadraty.trimToSize();
		
		try {
			BufferedReader odczyt = new BufferedReader(new FileReader("liczby.txt"));
			String kwadratyDoZapisu = "";
			
			while (odczyt.ready()) {
				String liczbaZPliku = odczyt.readLine();
				int liczba = Integer.parseInt(liczbaZPliku);
				
				for (int i = 1; i < kwadraty.size(); i++) {
					// Jeżeli kwadrat liczby pierwszej jest tym co jest w aktualnej linijce to go dopisz do listy.
					if (kwadraty.get(i) == liczba)
						kwadratyDoZapisu += liczba+"\r\n";
				}
			}
			
			odczyt.close();
			
			// Zapisz wynik.
			BufferedWriter zapis = new BufferedWriter(new FileWriter("zad_5.txt"));
			zapis.write(kwadratyDoZapisu);
			zapis.close();
		}
		catch (Exception e) {
			System.out.print("Wystąpił błąd: "+e);
		}
	}
	
	public static boolean czyPierwsza(int liczba) {
		// Liczby 2, 3, 5 i 7 są pierwsze.
		if (liczba == 2 || liczba == 3 || liczba == 5 || liczba == 7)
			return true;
		else {
			// Jeżeli liczba dzieli się przez 2, 3, 5 lub 7 nie jest pierwsza
			if (liczba%2 == 0 || liczba%3 == 0 || liczba%5 == 0 || liczba%7 == 0) 
				return false;
			else
				return true;
		}
			
	}

}

A wynik jego działania to plik o zawartości:

5041
1369
32041
844561
96721
9
942841
49
1849
528529
121
961
169

0

A Ty wiesz co to jest liczba pierwsza? 121 nie jest liczbą pierwszą bo dzieli się przez 11, wg Twojej funkcji jest.

0

No ja wiem, liczba dodatnia, naturalna większa od 1, która dzieli się tylko przez siebie i 1. T w takim razie jak zapisać funkcję, która to sprawdzi?

0

Brain first ...

    private static boolean isPrime(int liczba)
    {
        double root=Math.sqrt(liczba);
        for (int i=2;i<=root;i++)
        {
            if (liczba%i==0) return false;
        }
        return true;
    }

1 użytkowników online, w tym zalogowanych: 0, gości: 1