You are on page 1of 2

package medie; import java.util.Scanner; import java.lang.

Math; public class Main { private static int[][] citesteMatrice(int nrLinii, int nrColoane) { int[][] matrice; Scanner kbd = new Scanner(System.in); matrice = new int[nrLinii][nrColoane]; for (int i = 0; i < nrLinii; i++) for (int j = 0; j < nrColoane; j++) { System.out.print("A[" + i + "][" + j + "]="); matrice[i][j] = kbd.nextInt(); } return matrice; } private static void afiseazaMatrice(int[][] matrice) { for (int i = 0; i < matrice.length; i++) { for (int j = 0; j < matrice[0].length; j++) System.out.print(matrice[i][j] + " "); System.out.println(); } } // calculeaza media aritmetica a elementelor de pe linia transmisa ca pa rametru private static double calcMediaAritmetica(int[][] a, int linie) { int sumaElemente = 0; int nrElemente = 0; for (int j = 0; j < a[0].length; j++) { sumaElemente += a[linie][j]; nrElemente++; } return (double)sumaElemente / nrElemente; } // calculeaza media geometrica a elementelor de pe linia transmisa ca pa rametru private static double calcMediaGeometrica(int[][] a, int linie) { int produsElemente = 1; int nrElemente = 0; for (int j = 0; j < a[0].length; j++) { if (a[linie][j] > 0) { produsElemente *=a[linie][j]; nrElemente++; } } return Math.pow((double)produsElemente, (1./ nrElemente)); }

private static double calcMediaArmonica(int[][] a, int linie) { double sumaInverse = 0.; int nrElemente = 0; for (int j = 0; j < a[0].length; j++) { sumaInverse += 1./a[linie][j]; nrElemente++; } return (double)nrElemente / sumaInverse; } private static void interschimbaColoane(int[][] a, int col1, int col2) { int aux; for (int i = 0; i < a.length; i++) { aux = a[i][col1]; a[i][col1] = a[i][col2]; a[i][col2] = aux; } } public static void main(String[] args) { int[][] m; int nrLinii = 0; int nrColoane = 0; Scanner kbd = new Scanner(System.in); double mediaAritmetica; double mediaGeometrica; double mediaArmonica; System.out.print("Num rul de linii:"); nrLinii = kbd.nextInt(); System.out.print("Num rul de coloane:"); nrColoane = kbd.nextInt(); m = citesteMatrice(nrLinii, nrColoane); mediaAritmetica = calcMediaAritmetica(m, 0); System.out.println("Media aritmetica:" + mediaAritmetica); mediaGeometrica = calcMediaGeometrica(m, 0); System.out.println("Media geometrica:" + mediaGeometrica); mediaArmonica = calcMediaArmonica(m, 0); System.out.println("Media armonica:" + mediaArmonica); afiseazaMatrice(m); interschimbaColoane(m, 0, 1); afiseazaMatrice(m); } }

You might also like