popis:triedy nefunguju samostatne ----------------------------------------------------------------------------------------------------------------------- /** * @author Marek Tomčík * @version (5.02.2010) */ import java.util.*; import java.lang.String; public class Main { public Main() { } public static void main(String[] args) { Scanner scr; System.out.print("\f"); StvorcovaMatica maticaA, maticaB, maticaVysledna; ScitanieMatic operacia; operacia = new ScitanieMatic(); System.out.print("Ake rozmery nxn ma maju mat matice? :"); // vytvori maticu scr = new Scanner(System.in); int n = scr.nextInt(); // zisti ake cislo bolo stlacene System.out.print("Ak chcete nahodne generovat maticu A stlacte enter, ak chcete naplnit maticu rucne, stlacte n a potvrdte enter:"); scr = new Scanner(System.in); String matA = scr.nextLine(); // zisti aky znak bol stlaceny na klavesnici if ((matA.equals("n")) || (matA.equals("A"))) { maticaA = new StvorcovaMatica(n); maticaA.napisHodnoty(); } //ak plati vykona else { System.out.print("Od akej po aku hodnotu sa ma naplnit matica A? :"); //ak predchadzajuca podmienka neplatila vykona tento krok int odA = scr.nextInt(); int doA = scr.nextInt(); maticaA = new StvorcovaMatica(n); maticaA.nahodneNaplnMatice(odA, doA); } //vytvori maticu s nahodne generovanymi cislami v rozmedzi zadanom System.out.print("Ak chcete nahodne generovat maticu B stlacte enter, ak chcete naplnit maticu rucne, stlacte n a potvrdte enter :"); scr = new Scanner(System.in); String matB = scr.nextLine(); if ((matB.equals("n")) || (matB.equals("A"))) { maticaB = new StvorcovaMatica(n); maticaB.napisHodnoty(); } //vytvori maticu ktoru naplni uzivatel cislami else { System.out.print("Od akej po aku hodnotu sa ma naplnit matica B? :"); int odB = scr.nextInt(); int doB = scr.nextInt(); maticaB = new StvorcovaMatica(n); maticaB.nahodneNaplnMatice(odB, doB); } maticaVysledna = new StvorcovaMatica(n); //vytvori pomocnu maticu kde sa budu ukladat vysledna matica z operacii A a B System.out.print("Chcete vypisat matice A a B , a=ano, n=nie? :"); //ci chce pouzivatel vidiet svoje matice scr = new Scanner(System.in); String otazka = scr.nextLine(); if ((otazka.equals("a")) || (otazka.equals("A"))) { System.out.println("Matica A \n" + maticaA + "\nMatica B \n" + maticaB);} System.out.print("Pre scitanie matic stlacte: + a potvrdte enter"); // otazka pre pouzivatela scr = new Scanner(System.in); // zistuje String co = scr.nextLine(); // aka klavesa bola stlacena, resp. aky znak if (co.equals("+")) { operacia.scitanie(maticaA,maticaB,maticaVysledna); System.out.println("Matica A+B \n" + maticaVysledna + "\n"); } } } --------------------------------------------------------------------------------------------------------------------- /** * @author Marek Tomčík * @version (5.02.2010) */ import java.util.*; public class StvorcovaMatica { public int pocR; public int pocS; public double [][] matica; /** * Konstruktor vytvori maticu a x a */ public StvorcovaMatica(int pocetStlpcovApocetRiadkov) { pocR = pocetStlpcovApocetRiadkov; pocS = pocR; matica = new double[pocR][pocS]; } /** * Metoda naplni nahodnymi cislami maticu A a B podla zvoleneho rozsahu */ public boolean nahodneNaplnMatice(int SpodnyRozsah, int HornyRozsah) { this.pocR = pocR; this.pocS = pocS; Random rnd = new Random(); // inštancia generátora náhodných čísel if ((pocR > matica.length) || (pocS > matica.length)) return false; for (int i=0; i<pocR; i++) for (int j=0; j<pocS; j++) { matica[i][j] = SpodnyRozsah + rnd.nextInt(HornyRozsah - SpodnyRozsah + 1); } return true; } /** * napiste svoju vlastnu maticu s cislami ake si urcite */ public void napisHodnoty() { Scanner scr = new Scanner(System.in); System.out.println("Matica"); for (int i=0; i< pocS; i++) { for (int j=0; j<pocS ;j++) { System.out.print((i+1)+" : "+(j+1)+" "); int cislo = scr.nextInt(); matica[i][j] = cislo; } System.out.println(); } } public String toString() { String s = ""; for (int i=0; i<pocR; i++) { for (int j=0; j<pocS; j++) { s = s + "\t" + matica[i][j]; } s = s + "\n"; } return s; } } -------------------------------------------------------------------------------------------------------------------- /** * @author Marek Tomčík * @version (5.02.2010) */ public class ScitanieMatic { public static double[][] vratMaticu(StvorcovaMatica mm) { return mm.matica; } /** * Scita matice A + B a ulozi do vyslednej matice */ public void scitanie(StvorcovaMatica A,StvorcovaMatica B,StvorcovaMatica Vysledna) { double [][] maticaA = vratMaticu(A); double [][] maticaB = vratMaticu(B); double [][] maticaVysledna = vratMaticu(Vysledna); for (int i=0; i<maticaA.length; i++) for (int j=0; j<maticaA.length; j++) { maticaVysledna[i][j] = maticaA[i][j] + maticaB[i][j]; } } }
Autor: Marek Tomčík www: http:// Kategória: Matematika Jazyk: Java Dátum:4/26/2010 11:31:13 AM
Pre vloženie komentáru sa musíte najprv prihlásiť.