Advertisement
gilbertoavpereira

APROG - 08/09/2011 - Exame Época Especial - Grupo II

Jan 29th, 2014
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.88 KB | None | 0 0
  1.  
  2. import java.util.Scanner;
  3.  
  4. public class II08092011 {
  5.     private static Scanner in = new Scanner(System.in);
  6.    
  7.     public static int[][] lerMatriz(int l, int c){
  8.        int[][] mat= new int[l][c];
  9.        for(int i=0;i<l;i++){
  10.            for(int j=0;j<c;j++){
  11.                System.out.print("MAT["+i+"]["+j+"]=");
  12.                mat[i][j]=in.nextInt();
  13.            }
  14.        }
  15.        return mat;
  16.     }
  17.     public static int[] lerVector(int l){
  18.         int[] mat= new int[l];
  19.         for(int i=0;i<l;i++){
  20.             System.out.print("VEC["+i+"]=");
  21.             mat[i]=in.nextInt();
  22.         }
  23.         return mat;
  24.     }
  25.    
  26.     public static void frequencia(int[] v){
  27.         int[] f = new int[v.length];
  28.         int fn=0;
  29.         for(int i=0;i<v.length;i++){
  30.             boolean falg=true;
  31.             for(int j=0;j<fn;j++){
  32.                 if(v[i]==f[j])
  33.                     falg=false;
  34.             }
  35.             if(falg){
  36.                 f[fn]=v[i];
  37.                 fn++;
  38.             }
  39.         }
  40.         System.out.println("Número   Frequência");
  41.         for(int i=0;i<fn;i++){
  42.             int c=0;
  43.             for(int j=0;j<v.length;j++){
  44.                 if(v[j]==f[i])
  45.                     c++;
  46.             }
  47.             System.out.println("  "+f[i]+"          "+c);
  48.         }
  49.     }
  50.    
  51.     public static int colunasOrdenadas(int[] v, int[][] m){
  52.         int c=0;
  53.         for(int i=0;i<m[0].length;i++){
  54.             for(int j=0;j<m.length;j++){
  55.                 if(m[i][j]==v[0]){
  56.                     boolean flag=true;
  57.                     for(int l=1;l<v.length;l++){
  58.                         if(v[l]!=m[i][j+l]){
  59.                             flag=false;
  60.                             break;
  61.                         }
  62.                     }
  63.                     if(flag){
  64.                         c++;
  65.                         break;
  66.                     }
  67.                 }
  68.             }
  69.         }
  70.        
  71.         return c;
  72.     }
  73.    
  74.     public static int vizinhos(int[][] mat){
  75.         int c=0;
  76.         int lI,lF,cI,cF;
  77.         for(int i=0;i<mat.length;i++){
  78.             for(int j=0;j<mat[0].length;j++){
  79.                
  80.                 lI=(i-1>0)?i-2:0;
  81.                 lF=(i+1<mat.length)?i+2:mat.length;
  82.                 cI=(j-1>0)?j-2:0;
  83.                 cF=(j+1<mat[0].length)?j+2:mat[0].length;
  84.                
  85.                 int soma=0;
  86.                 for(int ii=lI;ii<lF;ii++){
  87.                     for(int jj=cI;jj<cF;jj++){
  88.                         soma+=mat[ii][jj];
  89.                     }
  90.                 }
  91.                 soma-=mat[i][j];
  92.                 c+=(soma>mat[i][j])?1:0;
  93.             }
  94.         }
  95.        
  96.         return c;
  97.     }
  98.     public static void main(String[] args) {
  99.         System.out.print("Comprimento do Vector:");
  100.         int nvec=in.nextInt();
  101.         while(nvec<=0){
  102.             System.out.println("ERRO: Comprimento Invalido");
  103.             System.out.print("Comprimento do Vector:");
  104.             nvec=in.nextInt();
  105.         }
  106.         int[] vec=lerVector(nvec);
  107.        
  108.         System.out.println("<FREQUÊNCIA>");
  109.         frequencia(vec);
  110.        
  111.         System.out.print("Numero de Linhas:");
  112.         int lmat=in.nextInt();
  113.         while(nvec<=0){
  114.             System.out.println("ERRO: Numero de Linhas Invalido");
  115.             System.out.print("Numero de Linhas:");
  116.             lmat=in.nextInt();
  117.         }
  118.         System.out.print("Numero do Colunas:");
  119.         int cmat=in.nextInt();
  120.         while(nvec<=0){
  121.             System.out.println("ERRO: Numero de Colunas Invalido");
  122.             System.out.print("Numero de Colunas:");
  123.             cmat=in.nextInt();
  124.         }
  125.        
  126.         int[][] mat=lerMatriz(lmat,cmat);
  127.         System.out.println("Numero de Colunas Contidas:"+colunasOrdenadas(vec,mat));
  128.        
  129.         System.out.println("Vizinhos Maiores: "+vizinhos(mat));
  130.        
  131.     }
  132.    
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement