it4life - Portal de Informática

jfrosorio


junkie user
93 posts

Ficha PL6 - Exercício Demonstrativo 1

Código: java
package projectopl6_exdemo1;import java.util.Scanner;public class Main {    public static void main(String[] args) {        int n;        Scanner ler = new Scanner(System.in);        do {            System.out.println("Indique o número de alunos: ");            n = ler.nextInt();        } while (n <= 0);        float notas[] = new float[n];        String nomes[] = new String[n];        float maior = -1;        for (int i = 0; i < n; i++) {            System.out.println("Nome do aluno " + (i + 1) + ": ");            nomes[i] = ler.next();            do {                System.out.println("Nota do aluno " + nomes[i] + ": ");                notas[i] = ler.nextFloat();            } while (notas[i] < 0 || notas[i] > 20);            if (notas[i] > maior) {                maior = notas[i];            }        }        System.out.println("Alunos com a maior nota (" + maior + ")");        for (int i = 0; i < n; i++) {            if (notas[i] == maior) {                System.out.println(nomes[i]);            }        }    }}

A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

jfrosorio


junkie user
93 posts

Ficha PL6 - Exercício Demonstrativo 2

Código: java
package projectopl6_exdemo2;import java.util.Scanner;public class Main {    public static void main(String[] args) {        int n = lerN();        int vec[] = new int[n];        int nElem = 0;        do{            int num = (int) (Math.random() * 96) + 5;            int pos = procurar(num, vec, nElem);            if (pos == -1){                if(inserir(num, vec, nElem)){                    nElem++;                }            }        }while(nElem < n);        listar(vec, nElem);    }    private static int lerN(){        Scanner ler = new Scanner(System.in);        int n;        do{            System.out.println("Insira a quantidade de números aleatórios: ");            n = ler.nextInt();        }while(n < 1 || n > 96);        return n;    }    private static int procurar(int n, int[] v, int ne){        if(ne > 0 && ne <= v.length){            int i = 0;            while(i < ne && v[i] != n){                i++;            }            if(i < ne){                return i;            }        }        return -1;  //senão encontrou    }    private static boolean inserir(int n, int[] v, int ne){        boolean tmp = false;        if(ne >= 0 && ne < v.length){            v[ne] = n;            tmp = true;        }        return tmp;    }    private static void listar(int[] v, int ne){        if(ne > 0 && ne <= v.length){            System.out.println("Números aleatórios: ");            for(int i = 0; i < ne; i++){                System.out.println((i + 1) + ": " + v[i]);            }        }    }}

A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

jfrosorio


junkie user
93 posts

PL7 - Exercício Demonstrativo 1

Código: java
package projectopl7_exdemo1;import java.util.Scanner;public class Main {    public static void main(String[] args) {        int nLin, nCol, somas[];        nLin = lerDim("Indique o número de linhas:");        nCol = lerDim("Indique o número de colunas:");        int matriz[][] = new int[nLin][nCol];        lerMatriz(matriz);        mostrarMatriz(matriz, "Matriz Original");        somas = somarColunas(matriz);        ordenarColunas(matriz, somas);        mostrarMatriz(matriz, "Matriz Ordenada");    }    private static int lerDim(String msg) {        Scanner ler = new Scanner(System.in);        int dim;        do {            System.out.print(msg);            dim = ler.nextInt();        } while (dim < 2);        return dim;    }    private static void lerMatriz(int[][] mat) {        Scanner ler = new Scanner(System.in);        System.out.println("\nLeitura da Matriz");        for (int lin = 0; lin < mat.length; lin++) {            for (int col = 0; col < mat[0].length; col++) {                System.out.print(lin + "," + col + ": ");                mat[lin][col] = ler.nextInt();            }        }    }    private static int[] somarColunas(int[][] mat) {        int[] somas = new int[mat[0].length];        for (int col = 0; col < mat[0].length; col++) {            somas[col] = 0;            for (int lin = 0; lin < mat.length; lin++) {                somas[col] = somas[col] + mat[lin][col];            }        }        return somas;    }    private static void ordenarColunas(int[][] mat, int[] vec) {        int tmp;        for (int i = 0; i < vec.length - 1; i++) {            for (int j = i + 1; j < vec.length; j++) {                if (vec[j] < vec[i]) {                    tmp = vec[j];                    vec[j] = vec[i];                    vec[i] = tmp;                    for (int lin = 0; lin < mat.length; lin++) {                        tmp = mat[lin][j];                        mat[lin][j] = mat[lin][i];                        mat[lin][i] = tmp;                    }                }            }        }    }    private static void mostrarMatriz(int[][] mat, String msg) {        System.out.println("\n" + msg);        for (int lin = 0; lin < mat.length; lin++) {            for (int col = 0; col < mat[0].length; col++) {                System.out.printf("%5d", mat[lin][col]);            }            System.out.println();        }    }}

A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

jfrosorio


junkie user
93 posts

PL7 - Exercício Demonstrativo 2

Código: java
package projectopl7_exdemo2;import java.util.Scanner;/** * * @author i100911 */public class Main {    /**     * @param args the command line arguments     */    public static void main(String[] args) {        int n = lerNumeroEquipas();        String equipas[][] = new String[5][n];        lerEquipas(equipas);        System.out.println("\nNúmero de equipas ordenadas: " + numeroColunasOrdenadas(equipas));    }    private static int lerNumeroEquipas() {        Scanner ler = new Scanner(System.in);        int numEquipas;        do {            System.out.print("Número de Equipas: ");            numEquipas = ler.nextInt();        } while (numEquipas < 2);        return numEquipas;    }    private static void lerEquipas(String[][] mat) {        Scanner ler = new Scanner(System.in);        System.out.println("\nLeitura das Equipas.");        for (int col = 0; col < mat[0].length; col++) { //da coluna 0 até ao comprimento da linha 0            System.out.println("- Equipa " + (col + 1) + ", ");            for (int lin = 0; lin < mat.length; lin++) {                System.out.println("Jogador " + (lin + 1) + ": ");                mat[lin][col] = ler.nextLine();            }        }    }    private static int numeroColunasOrdenadas(String[][] n) {        int c = 0, lin;        for (int col = 0; col < n[0].length; col++) {            lin = 0;            while (lin < n.length - 1 && n[lin][col].compareToIgnoreCase(n[lin + 1][col]) <= 0) {                lin++;            }            if (lin == n.length - 1) {                c++;            }        }        return c;    }}

A prática vale muito, mas é a vontade de ir mais longe que garante o sucesso.

Segue-nos nas redes sociais