Sei sulla pagina 1di 5

import java.util.

Scanner;

public class Main {

public static final String RESET = "\u001B[0m";


public static final String RED = "\u001B[31m";
public static final int lim = 9;
public static void main(String[] args) {

int scelta = 0;

Matrice obj = new Matrice();

for (int i = 0; i < lim; i++)


for (int k = 0; k < lim; k++)
obj.matrice[i][k] = 0;

Scanner input = new Scanner(System.in);

System.out.print("|> |Inserisci quante righe vuoi inizializzare| ");


obj.ri = input.nextInt();

System.out.print("|> |Inserisci quante colonne vuoi inizializzare| ");


obj.co = input.nextInt();

do {
System.out.print("\n\n|> 1)|Inizializza la matrice|");
System.out.print("\n|> 2)|Inizializza la matrice con valori random|");
System.out.print("\n|> 3)|Inizializza la matrice con i valori in
serie|");
System.out.print("\n|> 4)|Inverti righe - colonne|" + RED + " |
Necessario inizializzare la matrice|" + RESET);
System.out.print("\n|> 5)|Immissione di valori in diagonale|");
System.out.print("\n|> 6)|Trova il valore minimo per ogni colonna|" +
RED + " |Necessario inizializzare la matrice|" + RESET);
System.out.print("\n|> 7)|Trova il valore massimo per ogni righa|" +
RED +" |Necessario inizializzare la matrice|" + RESET);
System.out.print("\n|> 0)|Esci dal menù|\n");

scelta = input.nextInt();

switch (scelta) {
case 1:
obj.init(obj.matrice, obj.ri, obj.co);
break;
case 2:
obj.random(obj.matrice, obj.ri, obj.co);
break;
case 3:
obj.serie(obj.matrice, obj.ri, obj.co);
break;
case 4:
for(int i = 0; i < obj.ri; i++){
if(obj.matrice[i][0] == 0){
System.out.println("\n |> |La matrice non è stata
inizializzata, impossibile procedere|");
System.exit(0);
}
}
obj.trasposizione(obj.matrice, obj.ri, obj.co);
break;
case 5:
obj.diagonale(obj.matrice, obj.ri, obj.co);
break;
case 6:
for(int i = 0; i < obj.ri; i++){
if(obj.matrice[i][0] == 0){
System.out.println("\n |> |La matrice non è stata
inizializzata, impossibile procedere|");
System.exit(0);
}
}
obj.valminimo(obj.matrice, obj.ri, obj.co);
break;
case 7:
for(int i = 0; i < obj.ri; i++){
if(obj.matrice[i][0] == 0){
System.out.println("\n |> |La matrice non è stata
inizializzata, impossibile procedere|");
System.exit(0);
}
}
obj.valmassimo(obj.matrice, obj.ri, obj.co);
break;
case 0:
System.out.print("\n|Uscita..|");
System.exit(0);
default:
System.out.println("\n |> |Operazione non riuscita|");
break;
}
}while(scelta != 0);
}
}

___________________________________________________________________________________
_______________________________________________

import java.util.Random;
import java.util.Scanner;

public class Matrice {

public int ri;


public int co;
private int lim = 10;
public int [][] matrice = new int [lim][lim];

public void init(int [][] matrice, int ri, int co) {

int num = 0;
Scanner rec = new Scanner(System.in);
System.out.print("|> |Inserisci il numero con cui vuoi inizialiazzare la
matrice|\n");
num = rec.nextInt();

for (int i = 0; i < ri; i++) {


for (int j = 0; j < co; j++) {
matrice[i][j] = num;
}
}

for (int i = 0; i < ri; i++) {


System.out.print("\n");
for (int k = 0; k < co; k++) {
System.out.print(" " + matrice[i][k]);
}
}
}

public void random(int [][] matrice, int ri, int co){

Random random = new Random();

for(int i = 0; i < ri; i++){


for(int j = 0; j < co; j++){
matrice[i][j] = random.nextInt((100) + 1);
}
}

for(int i = 0; i < ri; i++)


{
System.out.print("\n");
for(int k = 0; k < co; k++)
{
System.out.print(" " + matrice[i][k]);

}
}
}

public void serie(int [][] matrice, int ri, int co){

int num = 1;

for(int i = 0; i < ri; i++){


for(int j = 0; j < co; j++){
matrice[i][j] += num;
num++;
}
}
for(int i = 0; i < ri; i++)
{
System.out.print("\n");
for(int k = 0; k < co; k++)
{
System.out.print(" " + matrice[i][k]);
}
}
}

public void trasposizione(int [][] matrice, int ri, int co){

int [][] matricetras = new int [ri][co];


for(int i = 0; i < ri; i++){
for(int j = 0; j < co; j++){
matricetras[i][j] = matrice[j][i];
}
}

for(int i = 0; i < ri; i++)


{
System.out.print("\n");
for(int k = 0; k < co; k++)
{
System.out.print(" " + matricetras[i][k]);
}
}
}

public void diagonale(int [][] matrice, int ri, int co){

for(int i = 0; i < ri; i++){


for(int j = 0; j < co; j++){
matrice[i][j] = j + i;
}
}
for(int i = 0; i < ri; i++)
{
System.out.print("\n");
for(int k = 0; k < co; k++)
{
System.out.print(" " + matrice[i][k]);
}
}
}

public void valminimo(int [][] matrice, int ri, int co){

int valmin = 0;
int pos = 0;
int cont = 0;

for(int i = 0; i < ri; i++){


valmin = matrice[i][0];
for(int j = 0; j < co; j++) {
cont++;
if (valmin > matrice[i][j]){
valmin = matrice[i][j];
pos = j;
}
if(cont == co){
cont = 0;
System.out.println("Il numero massimo della righa " + i + " è:
" + valmin + " alla posizione: " + pos);
}
}
}

public void valmassimo(int [][] matrice, int ri, int co){

int valmax = 0;
int pos = 0;
int cont = 0;
for(int i = 0; i < ri; i++){
valmax = matrice[i][0];
for(int j = 0; j < co; j++) {
cont++;
if (valmax < matrice[i][j]){
valmax = matrice[i][j];
pos = j;

}
if(cont == co){
cont = 0;
System.out.println("Il numero massimo della righa " + i + " è:
" + valmax + " alla posizione: " + pos);
}
}
}

}
}

Potrebbero piacerti anche