Pages: [1]   Go Down
Print
Author Topic: Esercizio merge  (Read 727 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
ShiShi
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 256



« on: 06-04-2009, 08:41:56 »

Code:
/*Scrivere un metodo che prenda in input due array bidimensionali frastagliati A e B
di stringhe tutte della stessa lunghezza, e restituisca un array bidimensionale C
di stinghe in cui C(i,j)={a(i,j) se B(i,j) non esiste, b(i,j) se A (i,j) non esiste ,
merge (A(i,j),B(i,j) altrimenti) dove merge(x,y) è la stringa che si ottiene concatenando
i catteri di indice pari di x e quelli di indice dispari di y senza alternarne l'indice.
ES: merge("abcdef","opqrst")= "apcret"}*/

Qualcuno è così gentile da spiegarmi in modo più semplice cosa chiede l'esercizio di fare? pray
Logged
atrix0ne
Forumista
***
Offline Offline

Posts: 607


homo faber fortunae suae


« Reply #1 on: 06-04-2009, 12:45:39 »

Code:
/*Scrivere un metodo che prenda in input due array bidimensionali frastagliati A e B
di stringhe tutte della stessa lunghezza, e restituisca un array bidimensionale C
di stinghe in cui C(i,j)={a(i,j) se B(i,j) non esiste, b(i,j) se A (i,j) non esiste ,
merge (A(i,j),B(i,j) altrimenti) dove merge(x,y) è la stringa che si ottiene concatenando
i catteri di indice pari di x e quelli di indice dispari di y senza alternarne l'indice.
ES: merge("abcdef","opqrst")= "apcret"}*/
public class merge1
  {
  public static String [][] metodo(String [][]A,String [][]B)
    {
    int r=0;
     int c,i,k,j=0;
    String temp="";
    String [][] C=new String [(A.length>B.length)?A.length:B.length][];
     for(i=0;i<((A.length>B.length)?A.length:B.length);i++)
       {
       if(A.length<=i)C[i]=new String[B[i].length];
         else if(B.length<=i)C[i]=new String[A[i].length];
           else
       C[i]=new String [(A[i].length>B[i].length)?A[i].length:B[i].length];
       }
    for(r=0;r<((A.length>B.length)?A.length:B.length);r++)
      {
      for(c=0;c<((A[r].length>B[r].length)?A[r].length:B[r].length);c++)
        {
        if(A[r].length<=c)
          {
          C[r][c]=B[r][c];
          }
        else if(B[r].length<=c)
         {
         C[r][c]=A[r][c];
         }
       else
         {
         temp="";
         for(k=0;k<A[r][c].length();k++)
           {
           temp+=A[r][c].charAt(k);
           temp+=B[r][c].charAt(k+1);
           k++;
           }
         C[r][c]=temp;
         }
       }
     }
        for(i=0;i<C.length;i++)//per stampare l'array
        {
            System.out.println();
            for(j=0;j<C[i].length;j++)
            System.out.print(C[i][j]+" ");
        }
        return B;
      }
     public static void main (String[]args)
  {
    String A[][]= { { "ab","cd","ef","gh"},
                    {"il","mn",},
                    {"st","uv","zx" ,"yk"}
                  }; 
    String B[][]= { { "ac"},
                    {"il","mn",},
                    {"st","uv","zx" ,"yp","ri"},
                     {"st","uv","zx"}
                  };
metodo(A,B);
}
}
Logged

ShiShi
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 256



« Reply #2 on: 06-04-2009, 12:54:49 »

Grazie ma non mi interessava una soluzione, ma sapere cosa chiede di fare l'esercizio  boh
Logged
atrix0ne
Forumista
***
Offline Offline

Posts: 607


homo faber fortunae suae


« Reply #3 on: 06-04-2009, 15:50:43 »

ho fatto anke quello dell'ordinamento che mi hai proposto pc
Code:
/*Scrivere un metodo che prende come parametri un array di float e un float h.
Si assuma che l'array dato sia ordinato in senso crescente. Il metodo deve restituire un array
di float ottenuto dall'array originale inserendo l'elemento h nella posizione corretta.*/
public class thelast
  {
  public static float [] metodo(float []A,float m)
    {
 float temp = 0;
for(int j=0;j<A.length;j++)
  {
   for(int i=j;i<A.length;i++)
    {
       if(A[j]>A[i])
      {
        temp=A[j];
        A[j]=A[i];
        A[i]=temp;
      }   
    }
  if(A[j]>m)
    {
    temp=A[j];
    A[j]=m;
    m=temp;
  }
}
    //VISUALIZZARE MATRICE
       for(int i=0; i<A.length;i++)
      {

              System.out.print(A[i]+"\t");
      System.out.println();


      }
    return A;
    }
  public static void main(String [] args)
    {
    float []A={1,2,4,5,6,7,8};
  metodo(A,3);
  }
}
Logged

Pages: [1]   Go Up
Print
Jump to: