Witam ! Mam napisać coś takiego:
Napisz program, który:
1. Wypełni dwuwymiarową tablicę zerami. Wymiary tablicy mają być przechowywane na zmiennych, aby umożliwić łatwą ich modyfikację.
2. Niektóre komórki wypełni jedynkami (liczba tych komórek również będzie przechowywana na zmiennej).
Sposobem interakcyjnym: w pętli pobieramy od użytkownika indeksy komórek, które zostaną wypełnione jedynkami,
ZA pomoc z góry dziękuje +++
Java - tablica dwuwymiarowa (wypełnianie)
-
- Użytkownik
- Posty: 374
- Rejestracja: 21 cze 2007, o 11:28
- Płeć: Mężczyzna
- Lokalizacja: Łostowice
- Pomógł: 146 razy
Java - tablica dwuwymiarowa (wypełnianie)
Kod: Zaznacz cały
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public Main() {
}
public static int [][] generujtablicezer(int ix, int iy) {
int tablica[][] = new int[ix][iy];
for(int i = 0; i < ix; i++)
for(int j = 0; j < iy; j++)
tablica[i][j] = 0;
return tablica;
}
public static void main(String[] args) {
int ix = 10; // I wymiar
int iy = 10; // II wymiar
BufferedReader we = new BufferedReader(new InputStreamReader(System.in)); // Bufor odczytu
String s = null;
String s2[] = new String[2]; // Dwie wartości jako index komórki
int tablica[][] = generujtablicezer(ix, iy);
// Zadanie I
System.out.println("Podaj rozmiar tablic x,y - dwie liczby całkowite przedzielone przecinkiem.");
int ilicznikjedynek = 0;
int i, j;
try {
s = we.readLine();
if ((s != null) && (!s.equals(""))) {
s2 = s.split(",");
ix = new Integer(s2[0].trim());
iy = new Integer(s2[1].trim());
tablica = generujtablicezer(ix, iy);
}
} catch (IOException ex) {
ex.printStackTrace();
}
wypisztablice(tablica);
// Zadanie II
System.out.println("Podaj indeksy komórek w postaci x,y - dwie liczby całkowite przedzielone przecinkiem.");
System.out.println("Wartości tablicy dla podanych wartości zostaną ustawione na 1");
do {
try {
s = we.readLine();
if ((s != null) && (!s.equals(""))) {
s2 = s.split(",");
i = new Integer(s2[0].trim());
j = new Integer(s2[1].trim());
tablica[i][j] = 1;
ilicznikjedynek++; // zwiększamy liczbę ustawionych punktów
}
} catch (IOException ex) {
ex.printStackTrace();
}
} while ((s != null) && (!s.equals("")));
wypisztablice(tablica);
System.out.println("Liczba ustawionych wartości na 1 wynosi " + ilicznikjedynek);
}
private static void wypisztablice(int[][] tablica) {
for(int i = 0; i < tablica.length; i++) {
for(int j = 0; j < tablica[i].length; j++) {
System.out.print(tablica[i][j] + " ");
}
System.out.println("");
}
System.out.println("");
}
}
Kod: Zaznacz cały
java -jar "test.jar"
Podaj rozmiar tablic x,y - dwie liczby całkowite przedzielone przecinkiem.
4,4
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Podaj indeksy komórek w postaci x,y - dwie liczby całkowite przedzielone przecinkiem.
Wartości tablicy dla podanych wartości zostaną ustawione na 1
1,1
2,2
3,3
0 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Liczba ustawionych wartości na 1 wynosi 3