Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: Vivynz on 09-01-2009, 15:10:28



Title: prova di oggi..
Post by: Vivynz on 09-01-2009, 15:10:28
Come vi è andata??A me sinceramente non so...gli esercizi che avevo io erano questi...il primo credo sia giusto...il secondo c'è qualcuno che può correggerlo??non so neanche cos'ho scritto..cioè.. penso ci siano troppi errori, era abbastanza complicato! .doh .doh .doh
Code:
/*Scrivere un metodo che prenda in input un array bidimensionale frastagliato A di float,
e restituisca un boolean che indichi se esiste una riga di A in cui siano presenti tre numeri x,y,z
(con x a sinistra di y e y a sinistra di z) tali che x*y=z*/
public class Esercizio1
{
public static boolean floatProdotto(float[][] A)
{
for(int r=0;r<A.length;r++)
for(int c=0;c<A[r].length-2;c++)
for(int c1=c+1;c1<A[r].length-1;c1++)
for(int c2=c1+1;c2<A[r].length;c2++)
if((A[r][c]*A[r][c1])==A[r][c2])
return true;
return false;
}
public static void main (String[] args)
{
float[][] f={{2F,4F,1F,7F},{1F,2F},{3F,2F,6F}};
boolean b=floatProdotto(f);
System.out.println(b);
}
}


Code:
/*Scrivere un metodo che prenda in input una matrice A di stringhe, e restituisca
un boolean che indichi se esistono tre colonne uguali. Non è possibile utilizzare il metodo equals.(Il prof ha detto
che bisognava usare charAt)*/
public class Esercizio2
{
public static boolean treColUguali(String[][] A)
{
for(int c=0;c<A[0].length-2;c++)
{
int righeuguali=0;
for(int r=0;r<A.length;r++)
{
boolean stop=false;
for(int c1=c+1;(c<A[0].length-1)&&!stop;c1++)
for(int c2=c1+1;(c2<A[0].length)&&!stop;c2++)
{
if((A[r][c].length()==A[r][c1].length())&&(A[r][c].length()==A[r][c2].length()))
{
boolean continua=true;
for(int k=0;k<A[r][c].length()&&continua;k++)
if((A[r][c].charAt(k)!=A[r][c1].charAt(k))||(A[r][c].charAt(k)!=A[r][c2].charAt(k)))
continua=false;
if(continua)
{
righeuguali++;
stop=true;
}
}
}
}
if(righeuguali==A.length)
return true;
}
return false;
}
public static void main (String[] args)
{
String[][] s={{"cane","gatto","palla"},{"cane","gatto","palla"},{"cane","gatto","palla"}};
boolean b=treColUguali(s);
System.out.println(b);
}
}


Title: Re:prova di oggi..
Post by: k1r4 on 09-01-2009, 16:02:21
io non ho usato equals nel secondo... ho usato compareTo  .whistling :-)|


Title: Re:prova di oggi..
Post by: Vivynz on 09-01-2009, 16:34:45
anche io volevo ma il prof mi ha detto in quel modo e quindi....


Title: Re:prova di oggi..
Post by: MisteroLupo on 09-01-2009, 17:23:19
Anche io ho usato compareTo :yoh


Title: Re:prova di oggi..
Post by: Vivynz on 09-01-2009, 17:25:54
cavoloooo ma io prima l'avevo fatto col compareTo....al rogo il prof  :-)|


Title: Re:prova di oggi..
Post by: MisteroLupo on 09-01-2009, 17:38:58
non vorrei vedermi tolti punti per questo.. nel testo c'era scritto di non usare il metodo equals e io così ho fatto .whistling


Title: Re:prova di oggi..
Post by: Giuseppo on 09-01-2009, 17:53:00
Vi posto i miei...li ho scritti e funzionano entrambi...speriamo bene  :-OK

Code:
/* Scrivere un metodo che, dato un array frastagliato di float a, e un float z in input,
restituisca un boolean che indichi la presenza di due elementi il cui prodotto è uguale a z */

public class provaes1{
public static boolean metodo(float[][] a,float z){
boolean b=false;
for (int i=0;i<a.length;i++){
for (int j=0;j<a[i].length;j++){
for(int m=0;m<a.length;m++){
for(int n=0;n<a[m].length;n++){
if((a[i][j]*a[m][n]==z)&&((i!=m&&j==n)||(i==m&&j!=n)||(i!=m&&j!=n)))
{
b=true;
return b;
}
}
}
}
}
return b;
}

public static void main(String[]args){
float[][]a=new float[4][];
a[0]=new float[4];
a[1]=new float[3];
a[2]=new float[4];
a[3]=new float[2];
a[0][0]=4;a[0][1]=3;a[0][2]=2;a[0][3]=1;
a[1][0]=3;a[1][1]=5;a[1][2]=9;
a[2][0]=6;a[2][1]=2;a[2][2]=4;a[2][3]=6;
a[3][0]=3;a[3][1]=2;
System.out.println(metodo(a,16));
}
}



ora il secondo..
Code:
/* Scrivere un metodo che, dato in input un array bidimensionale di stringhe, restituisca un
boolean che indichi la presenza di due stringhe uguali su due colonne consecutive. */

public class provaes2{
public static boolean metodo(String[][] a){
boolean b=false;
for(int i=0;i<a.length-1;i++){
for (int j=0;j<a.length;j++){
for(int n=0;n<a.length;n++){
if(a[j][i].equals(a[n][i+1])){
b=true;
return b;
}
}
}
}
return b;
}

public static void main(String[]args){
String[][] a=new String[3][3];
a[0][0]="ciao";a[0][1]="asd";a[0][2]="cia";
a[1][0]="pizza";a[1][1]="lol";a[1][2]="asds";
a[2][0]="casa";a[2][1]="cia";a[2][2]="----";
System.out.println(metodo(a));
}
}


Title: Re:prova di oggi..
Post by: andreacannella on 09-01-2009, 17:54:32
Cari colleghi vi posto le mie soluzioni al compito che avevo io stamattina...
...spero qualcuno di voi mi sappia dire se funzionano...
...vi posso assicurare che il codice viene compilato...

Il primo è l'esercizio secondo il quale si dovevano cercare tre colonne per le quali valeva la seguente proprietà: X*Y=Z.
Il secondo è vedere quali caratteri tra a e b predominano in una certa colonna di un array frastagliato di stringhe.



Code:
class esercizio1
{
    public static boolean metodo(int[][]A)
    {
        boolean b=false;
        int tmp=0;
        for (int j=0; j<A[0].length; j++)
        {
            for (int i=0; i<A.length; i++)
            {
                for (int c=i+1; c<A.length; c++)
                {
                    for (int pr=c+1; pr<A.length; pr++)
                    {
                        if (A[i][j]*A[c][j]==A[pr][j])
                        {
                            tmp++;
                        }
                    }
                }
            }
        }
        if (tmp==A[0].length)
        {
            b=true;
        }
        else b= false;
           
        return b;
    }
}



Code:
class esercizio2
{
  public static boolean metodo (String [][]A, int j)
  {
    boolean b=false;
    int tmpa=0;
    int tmpb=0;
    for (int i=0; i<A.length; i++)
    {
      if (j<A[i].length)
      {
        for (int l=0; l<A[i][j].length(); l++)
        {
          if (A[i][j].charAt(l)=='a')
          {
            tmpa++;
          }
          if (A[i][j].charAt(l)=='b')
          {
            tmpb++;
          }
        }
      }
    }
      if (tmpa>tmpb)
      {
        b=true;
      }
      else b=false;
     
      return b;
  }
}


Title: Re:prova di oggi..
Post by: Giovi89 on 09-01-2009, 18:43:12
salve a tutti colleghi,
posto i miei esercizi a mio parere i più complicati rispetto a tutti quelli della classe, soprattuttto il secondo...
a proposito qualcuno potrebbe vederlo e dirmi quanti punti potrebbe darmi il professore secondo voi?
i testi degli esercizi sono quelli postati all'inizio della pagina da Vivynz...
Code:
class esame
{
public static boolean metodo(float [][] A)
{
boolean t=false;
for(int i=0;i<A.length&&t==false;i++)
  for(int j=0;j<A[i].length-2&&t==false;j++)
    for(int k=j+1;k<A[i].length-1&&t==false;k++)
       for(int a=k+1;a<A[i].length&&t==false;a++)
         if(A[i][j]*A[i][k]==A[i][a])
t=true;

return t;
}
}
public class esame1
{
public static void main(String [] args)
{
float [][] A={ {3f,4f,6f,4f},
     {1f,2f,3f},
     {3333f,5555f,66f,777f,8888f,9999f,4444f},
     {111f,222f,3f,4f,5f,6f,7f,8f,9f},
     {3333f,44444f,5555f,66666f,77777f,1f,3f,3f}};
System.out.println(esame.metodo(A));
}
}
 
il primo è giusto lo provato io, invece sul secondo sono perplesso..
Code:
class esercizio2
{
public static boolean metodo(String [][] A)
{
int k;
boolean t=false;
for(int i=0;i<A[0].length-2&&t==false;i++)
  for(int j=i+1;j<A[0].length-1&&t==false;j++)
     for(int a=j+1;a<A[0].length&&t==false;a++){
        for(k=0;k<A.length;k++)
        for(int x=0;x<A.length;x++)
            for(int b=0;b<A.length;b++)
              for(int h=0;h<A[k][i].length();h++)
                if(A[k][i].charAt(h)==A[b][j].charAt(h))
if(A[b][j].charAt(h)==A[b][a].charAt(h)){
a++;

if(a==A[k][i].length())
t=true;}
}
return t;
}
}

public class esercizio21
{
public static void main(String [] args)
{
String [][] A={ {"ciao","ciao","chece"},
      {"prof","prof","nn"},
      {"del","del","ff"}};
System.out.println(esercizio2.metodo(A));
}
}
perfavore rispondetemi al piu presto.. .ciaociao .ciaociao


Title: Re:prova di oggi..
Post by: k1r4 on 09-01-2009, 19:06:36
Allora ragazzi, io avevo la prova come quella di Vivynz, il secondo esercizio io l'ho risolto in due metodi, in modo da semplificarmi la vita ed evitare di impazzire con tanti cicli for  :[Emoticon] Asd:


Scrivere un metodo che prenda in input una matrice A di stringhe, e restituisca
un boolean che indichi se esistono tre colonne uguali. Non è possibile utilizzare il metodo equals.

Code:
    public static boolean esercizio2(String [][]A)
    {
        /*Con il primo for, scorro le colonne*/
        for(int j = 0; j < A[0].length-2; j++)
        {
            String [] a = new String [A.length];
            String [] b = new String [A.length];
            String [] c = new String [A.length];
           
            /*Con il secondo for, scorro le righe*/
            for(int i = 0; i<A.length; i++)
            {
                /*Mi ricopio le tre colonne dentro tre array di String*/
                a[i] = A[i][j];
                b[i] = A[i][j+1];
                c[i] = A[i][j+2];
            }
           
            /*Confronto le tre colonne (che ho ricopiato dentro i tre
             *array di string) con un metodo apposito
            */
            if(compara(a, b, c))
                return true;
        }
        return false;
    }
   
    private static boolean compara(String []a, String []b, String []c)
    {
        boolean test = false;
        for(int i = 0; i<a.length; i++)
        {
            if(a[i].compareTo(b[i]) == 0 && a[i].compareTo(c[i]) == 0)
                test = true;
            else
                return false;
        }
        return test;
    }
   
    public static void main(String[] args) {
        String [][] A = new String [4][4];
       
        A[0][0] = "alberto"; A[0][1] = "alberto"; A[0][2] = "alberto"; A[0][3] = "Salvo";
        A[1][0] = "mauro"; A[1][1] = "mauro"; A[1][2] = "mauro"; A[1][3] = "Salvo";
        A[2][0] = "tony"; A[2][1] = "tony"; A[2][2] = "tony"; A[2][3] = "Salvo";
        A[3][0] = "carla"; A[3][1] = "carla"; A[3][2] = "carla"; A[3][3] = "Salvo";
       
        System.out.println(esercizio2(A));
    }

praticamente mi ricopio le tre colonne in tre array di string e le confronto a parte  .sisi

Testato e funzionante!!  |-O


Title: Re:prova di oggi..
Post by: Crasher on 09-01-2009, 20:42:57
Avevo il compito come ad andreacannella
Testati e funzionanti!!!!

Prova 1:
Code:
public class Prova_1 {

public static void main (String args[]) {

int[][] A = {{1,2,2},{1,5,2},{67,46,74}};

for (int i=0; i<A.length; i++){
System.out.println();
for (int j=0; j<A[i].length; j++)
System.out.print(A[i][j] + "\t");
}


System.out.println();
boolean aux = esercizio(A);

System.out.println(aux);

}

public static boolean esercizio (int[][] A){

boolean aux = false;

for (int i=0; i<A.length; i++)
if (A[i].length >= 3) // esistenza di almeno 3 colonne!
for (int x=0; x< A[i].length-2; x++)
for (int y = x+1; y<A[i].length-1; y++)
for (int z = y+1; z<A[i].length; z++)
if (A[i][x]*A[i][y] == A[i][z])
return true;
return aux;
}
}

Prova 2:
Code:
public class Prova_2 {

public static void main (String args[]) {

String[][] s = {{"abc", "noi", "bo"}, {"fg", "sgkaa"}, {"hhh","java", "aaa"}};

int j=1;

for (int i=0; i<s.length; i++){
System.out.println();
for (int k=0; k<s[i].length; k++)
System.out.print(s[i][k] + "\t");
}

boolean aux = esercizio(s,j);

System.out.println("\n\n" + aux);
}

public static boolean esercizio(String[][] s, int j){

int max=0, conta=0, contb=0;
boolean aux = false;

for(int i=0; i< s.length; i++)
if(s[i].length > max)
max = s[i].length;

if (j<= max){ // esistenza della colonna nell'array
for (int i=0; i< s.length; i++)
if (j< s[i].length) // esistenza della colonna nella riga i-esima
for (int car=0; car< s[i][j].length(); car++){ // conto tutti i caratteri 'a' e 'b'
if (s[i][j].charAt(car) == 'a') conta++;
if (s[i][j].charAt(car) == 'b') contb++;
}
if (conta > contb) return true;
}

return aux;
}

}


Title: Re:prova di oggi..
Post by: MisteroLupo on 09-01-2009, 21:05:58
Il primo è l'esercizio secondo il quale si dovevano cercare tre colonne per le quali valeva la seguente proprietà: X*Y=Z.
Ma perché tutti quei cicli for? nel testo era specificato (almeno da me) che la x stava alla sinistra della y che stava alla sinistra della z. Io l'ho risolto con un semplice ciclo for che confrontava l'elemento con gli indici successivi (i+1) (i+2)..


Title: Re:prova di oggi..
Post by: k1r4 on 09-01-2009, 21:06:51
Il primo è l'esercizio secondo il quale si dovevano cercare tre colonne per le quali valeva la seguente proprietà: X*Y=Z.
Ma perché tutti quei cicli for? nel testo era specificato (almeno da me) che la x stava alla sinistra della y che stava alla sinistra della z. Io l'ho risolto con un semplice ciclo for che confrontava l'elemento con gli indici successivi (i+1) (i+2)..

ma i numeri potevano essere non consecutivi  :-)|


Title: Re:prova di oggi..
Post by: andreacannella on 09-01-2009, 22:31:06
kira ha capito il perché dei 4 for...

 .quoto


Title: Re:prova di oggi..
Post by: MisteroLupo on 09-01-2009, 22:36:55
 :-)|


Title: Re:prova di oggi..
Post by: andreacannella on 09-01-2009, 22:39:56
MisteroLupo ti sei convinto?

Ti sembra corretto il mio codice?


Title: Re:prova di oggi..
Post by: MisteroLupo on 09-01-2009, 23:46:20
Sì.. cavolo con "alla sinistra" ho inteso che fossero contigui, non ci ho proprio pensato.. spero che non mi tolga troppi punti per questo errore..
Comunque sì mi sembra giusto il tuo!


Title: Re:prova di oggi..
Post by: Crasher on 10-01-2009, 10:14:46
Ho fatto l'esercizio di Vivynz ( col charAt e con un metodo )
Code:
public class Esercizio2
{
public static boolean treColUguali(String[][] A){

boolean aux=false;
int cont=0; // conta le colonne uguali

for (int c=0; c<A[0].length; c++){ // ciclo colonne
boolean ok = true;
for (int i=0; i<A.length-1; i++){ // ciclo righe
// stringhe nulle o lunghezze di stringhe differenti nella colonna ==> la colonna non è più uguale
if (A[i][c].length() != A[i+1][c].length() || A[i][c].length() ==0)
ok = false;
// se hanno la stessa lunghezza, vengono controllati i singoli caratteri
else
for (int j=0; j<A[i][c].length(); j++)
// se 2 caratteri non sono uguali ==> la colonna non è più uguale
if (A[i][c].charAt(j) != A[i+1][c].charAt(j))
ok = false;
}

// se non ci sono state alterazioni della boolean significa che la colonna è uguale e la conto
if (ok) cont++;
}

// almeno 3 colonne uguali ==> problema risolto....
if (cont >=3) return true;

return aux;
}

public static void main (String[] args)
{
String[][] s={{"cane","gatto","pippo", "palla"},{"cane","gatto","pluto", "palla"},{"cane","gatto","topo", "palla"}};

for (int i=0; i< s.length; i++){
System.out.println();
for (int j=0; j<s[i].length; j++)
System.out.print(s[i][j] + "\t");
}

boolean b=treColUguali(s);

System.out.println("\n\n" + b);
}
}


Title: Re:prova di oggi..
Post by: Giovi89 on 10-01-2009, 11:02:08
ciao A tutti ,
scusa crascher ma tu hai inteso le colonne uguali nel seguente modo:
1  2  4  3
1  2  5  3
1  2  7  3
1  2  8  3

e invece il professore mi ha detto che dovevo intendere nel seguente modo:

1  1  2  1
2  2  3  2
3  3  4  3
5  5  8  5
e quindi confrontare i caratteri delle stringhe della riga corrispondenti alle tre colonne...tu hai inteso ogni colonna uguale per conto suo..
a proposito qualcuno può vedere il codice dell'esercizio come quello di vivynz che ho postato prima?grazie .ciaociao


Title: Re:prova di oggi..
Post by: Crasher on 10-01-2009, 11:19:15
Dal mio codice:
Code:
int[][] A = {{3,3,9},
{3,5},
{9,46,74}};

A parte che il testo nn dice che la matrice debba essere frastagliata, ma neppure quadrata, come ha detto il prof... quindi bisogna considerla frastagliata per evitare problemi... :)

Cmq abbiamo capito entrambe alla stessa maniera ;)

3*3 = 9 ==> restituisce true;
seconda riga  la salta x la mancanza di 3 colonne (nel codice c'è questo controllo)
9*46=74 ==> falso, ma la prima riga è vera, quindi ho sempre true!
;)

Per il secondo esercizio guarda quello postato da me sopra il tuo post.
EDIT: Giovi... io e tu abbiamo avuto un compito diverso  :[Emoticon] Asd:


Title: Re:prova di oggi..
Post by: Vivynz on 10-01-2009, 12:45:37
dove sono reversengineer e Fr3d3R!K ??non partecipano adesso che servono??ihihi  :[Emoticon] Asd:
mi accodo alla richiesta di Giovi89..date un'occhiata ai codici??mi dite se è troppo disastroso?? .huh


Title: Re:prova di oggi..
Post by: k1r4 on 10-01-2009, 13:01:01
Vivynz, il tuo codice del secondo esercizio, va in loop al terzo ciclo for... quindi il programma non fa quanto richiesto dalla traccia... bisogna vedere che metro di giudizio utilizza il cincotti per poter dare una opinione sul possibile disastro  :boh


Title: Re:prova di oggi..
Post by: Vivynz on 10-01-2009, 13:05:50
grazie me ne ero accorta  .smile volevo sapere se era tutto sbagliato o comunque corregendo alcune cose può funzionare..


Title: Re:prova di oggi..
Post by: k1r4 on 10-01-2009, 13:09:09
.


Title: Re:prova di oggi..
Post by: Crasher on 10-01-2009, 14:05:03
@Vivynz

non capisco se vuoi avere true x 3 righe uguali (da come si capisce nel tuo codice) o 3 colonne uguali (come richiesto nel testo).

cmq, come ha detto k1r4 il problema del loop è nel terzo for

for(int c1=c+1;(c1<A[0].length-1)&&!stop;c1++)

// restituisce false;
String[][] s={{"cane","gatto","palla"},{"cane","gatto","palla"},{"cane","gatto","palla"}};

// restituisce true;
String[][] s={{"cane","cane","cane"},{"gatto","gatto","gatto"},{"palla","palla","palla"}};

:)


Title: Re:prova di oggi..
Post by: Fr3d3R!K on 10-01-2009, 14:25:55
eccomi ero un pò impegnato. Comunque io avevo (ebbene si devo darmi anche io programmazione 1 pur essendo al secondo anno .arrossisco ) la prova di andrea cannella per la cronaca.
Però è curioso come molte persone anche qui chiedano se le righe/colonne erano da considerarsi contigue (il prof. Gallo l'avrà detto 5 volte durante la prova), e comunque non c'era scritto quindi potevano anche non esserlo...
Per Vivynz: ora casomai gli dò un'occhiata ma se quello di k1r4 funziona puoi prendere spunto dal suo.
Io i miei esercizi li avrei fatti pure giusti, ma ho dimenticato parentesi e simili "per strada" (proverbiali errori di distrazione che commetto dalla nascita)  :-)| :-)| :-)| .
Questo sono i sorgenti dei miei due:
Numero 1 (la proprietà era uguale x*y=z ma mi ricordo che era per righe)
Code:
public static boolean ProdottoComponenti(int[][] A)
{
int r,c,c1,c2,cont=0;
for(c=0;c<A[0].length-1;c++)
{
for(r=0;r<A.length;r++)
{
c1=c+1;
for(c2=c1+1;(c2<A[r].length) && (flag==false);c2++)
{
if(A[r][c]*A[r][c1]==A[r][c2])
{
cont++;
return true;
}
}
c1++;
}
}
return false;
}
ed il numero 2 (dove dovevo vedere se le 'a' erano maggiori in numero delle 'b'):
Code:
public static boolean lettereMaggiori(String[][] A, int j)
{
int r,h,contA=0,contB=0;
for(r=0;r<A.length;r++)
{
if(j>=A[r].length)
continue;
else
{
for(h=0;h<A[r][j].length();h++)
{
if(A[r][j].charAt(h)=='a')
contA++;
if(A[r][j].charAt(h)=='b')
contB++;
}
}
}
if(contA>contB)
return true;
return false;
}
Per quello delle tre colonne uguali, anche io avevo inteso leggendo il post che ci dovevano essere tre colonne (per intero) uguali. Ma eventualmente il codice non era complesso, ma quasi uguale al primo esercizio (cambia la condizione ma i cicli uguali restano).
Saluti! .ciaociao


Title: Re:prova di oggi..
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 10-01-2009, 14:38:24
dove sono reversengineer e Fr3d3R!K ??non partecipano adesso che servono??ihihi  :[Emoticon] Asd:
Il primo esercizio l'hai risolto correttamente.

Nella tua classe Esercizio2, invece, ci sono vari problemi, alcuni di distrazione altri un po' più gravi:
- riga 12:
Code:
for(int c1=c+1;(c<A[0].length-1)&&!stop;c1++)
dev'essere invece
Code:
for(int c1=c+1;(c1<A[0].length-1)&&!stop;c1++)

- riga 18: in
Code:
if((A[r][c].charAt(k)!=A[r][c1].charAt(k))||(A[r][c].charAt(k)!=A[r][c2].charAt(k)))//non è detto che esistano A[r][c2].charAt(k) né A[r][c1].charAt(k)
nessuno ti garantisce che A[r][c1] né che A[r][c2] abbiano almeno k caratteri. Ciò potrebbe sollevare una java.lang.IndexOutOfBoundsException (http://java.sun.com/javase/6/docs/api/java/lang/IndexOutOfBoundsException.html).
Quello più grave è il seguente:
nel ciclo for esterno fissi una certa colonna c.
Poi controlli che per ogni riga esista una coppia di colonne diverse che contengano la stessa stringa della colonna fissata precedentemente, però potrebbe essere una coppia di colonne diversa da quella che fu trovata nella iterazione della/e precedente/i riga/e.
Ciò è errato poiché un controesempio come:
Code:
String[][] s={{"abcd", "abcd", "abcd", "lmno"},
              {"1234", "1234", "blab", "1234"}};
restituirebbe true, poiché fissata la prima colonna, ci sono due colonne che hanno la stessa stringa che c'è nella prima colonna, solo che per la prima riga tali colonne sono la seconda e la terza, mentre per la seconda riga sono la seconda e la quarta!
 .penso



Title: Re:prova di oggi..
Post by: k1r4 on 10-01-2009, 15:24:46
dove sono reversengineer e Fr3d3R!K ??non partecipano adesso che servono??ihihi  :[Emoticon] Asd:
Il primo esercizio l'hai risolto correttamente.

come fai a dire che l'ha risolto correttamente? i numeri devono essere contigui o no??  .penso


Title: Re:prova di oggi..
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 10-01-2009, 15:44:48
Secondo la specifica del testo i numeri non devono necessariamente essere contigui, e in quel caso è corretto. Se poi i numeri devono essere contigui, e questa informazione non mi è stata data, in quel caso è errato.

Va meglio così .rido?


Title: Re:prova di oggi..
Post by: Fr3d3R!K on 10-01-2009, 16:06:04
se vi vedesse il prof. Gallo vi ucciderebbe >:)
per l'n-esima volta: i numeri NON è necessario che siano contigui in quanto NON c'è scritto nel testo. Il programma dovrebbe dare true anche in questo caso:
Quote
1 5 2 8 7 2 --> true perchè l'elemento alla posizione 0,0 (il primo 1) moltiplicato l'elemento alla posizione 0,2 (il primo 2) risulta uguale all'elemento alla posizione 0,6 (il secondo 2), in quanto 1*2=2
.ciaociao


Title: Re:prova di oggi..
Post by: k1r4 on 10-01-2009, 16:32:46
scusate ragazzi, quelli che si sono prenotati all'uniweb per la prima prova, devono prenotarsi di nuovo?


Title: Re:prova di oggi..
Post by: Fr3d3R!K on 10-01-2009, 16:35:24
scusate ragazzi, quelli che si sono prenotati all'uniweb per la prima prova, devono prenotarsi di nuovo?
no, quella prenotazione vale per prima e seconda prova in itinere.


Title: Re:prova di oggi..
Post by: Vivynz on 10-01-2009, 17:13:08
c'è il testo degli esercizi postato...basta sapere l'italiano per capire cose richiedeva l'esercizio...il primo è giusto...il secondo tralasciamo ma è richiesto chiaramente di trovare tre colonne uguali tra loro..la mia testa è andata troppo in confusione però durante il compito..qua si chiedeva solo aiuto e correzioni non critiche... :Mah:
grazie reverse..per c1 è stata una distrazione..per invece l'altro errore c'è un if che controlla proprio se le stringhe hanno la stessa lunghezza..vabbè comunque ormai è andata com'è andata..però adesso l'ho riprovato con la correzione sul c1 e il giusto main(che riconosco aveva creato confusione)...e sembra funzionare..ha senso???


Title: Re:prova di oggi..
Post by: ɹǝǝuıƃuǝsɹǝʌǝɹ on 10-01-2009, 18:06:20
per invece l'altro errore c'è un if che controlla proprio se le stringhe hanno la stessa lunghezza
Riconosco il mio errore: in questo caso ogni stringa avrebbe avuto il corretto k-esimo carattere
Quote
però adesso l'ho riprovato con la correzione sul c1 e il giusto main(che riconosco aveva creato confusione)...e sembra funzionare..ha senso???
Prova con l'array che ho postato io come controesempio: se hai corretto solo la condizione di uscita (c1 invece di c), il codice ti darà true, quando invece dovrebbe dare false.
 .smile


Title: Re:prova di oggi..
Post by: Vivynz on 11-01-2009, 13:04:51
ah si ok ho capito adesso  .smile pensi che sarà valutato proprio male comunque?