Pages: [1] 2   Go Down
Print
Author Topic: Soluzioni esercizi esame 26/01  (Read 4351 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
isuccia89
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 481



« on: 30-01-2010, 12:24:25 »

Giusto per farci un'idea, chi ha passato la prova del 26 potrebbe postare le sue soluzioni in modo tale da poter confrontarle con le nostre?  testate
Grazie in anticipo
Logged

Se incontrerai qualcuno persuaso di saper tutto e di esser capace di far tutto non potrai sbagliare, costui è un imbecille! (Confucio)
Flyer
Apprendista Forumista
**
Offline Offline

Posts: 100



« Reply #1 on: 30-01-2010, 13:00:00 »

Code:
public static boolean metodo1(byte[][] A,byte[] B,int n)
{
int conta=0,trovato=0;
for(int i=0;i<B.length;i++)
{
trovato=0;
for(int r=0;r<A.length;r++)
for(int c=0;c<A[r].length;c++)
{
if(B[i]==A[r][c] && trovato==0)
{
conta++;
trovato=1;
}
}
}
if(conta>=n)
return true;
else
return false;
}

public static String metodo2(String[][]S, byte[]Row,byte[]Pos,int c)
{
String x="";
for(int i=0;i<Row.length;i++)
{
if( (Row[i].length < S.length) && (c < S[[Row[i]].length) )
{
for(int j=0; j<Pos.length;j++)
{
if(Pos[j]<S[Row[i]][c].length() )
x+=S[Row[i]][c].charAt(Pos[j]);
else
x=x+"?";
}
}
else
{
x=x+"*";
}
}
return x;
}
« Last Edit: 30-01-2010, 13:05:01 by Flyer » Logged
Luckino
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 107


Io nn sono il migliore ma nessuno è migliore di me


« Reply #2 on: 30-01-2010, 16:35:44 »

premetto che ho preso 0 e quindi non sono passato...posto il primo esercizio sperando che qualcuno mi aiuti a capire cosa ho sbagliato!!
Code:
public class ultimoEsercizio
{
public static boolean metodo(byte[][]A,byte[] B,int n)
{
int cont=0;

for(int i=0;i<B.length;i++)
{
if(B.length<n)
return false;

for(int j=0;j<A.length;j++)
{
for(int k=0;k<A[j].length;k++)
{
if(B[i]==A[j][k])
cont++;



}
}
}
if(cont>=n)
return true;
else
return false;
}
public static void main (String[] args)
{
byte[][] A={{2,3,4,5},{2,8,7,4},
 {1,4,5,6},{2,6,3,5}};
byte[] B={3,8,1,100,34,16};
int n=4;
boolean c=metodo(A,B,n);
System.out.println(c);
}
}

ritorna true anche quando gli elementi sono minori di n...
« Last Edit: 30-01-2010, 16:38:30 by Luckino » Logged
isuccia89
Apprendista Forumista
**
Offline Offline

Gender: Female
Posts: 481



« Reply #3 on: 30-01-2010, 17:57:09 »

e il secondo qualcuno l'ha capito?  testate
Logged

Se incontrerai qualcuno persuaso di saper tutto e di esser capace di far tutto non potrai sbagliare, costui è un imbecille! (Confucio)
Crasher
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 417



« Reply #4 on: 30-01-2010, 20:53:03 »

A parte che ho dovuto capire cosa fa l'esercizio dal metodo di Flyer,  cmq...   testate

@Luckino
il tuo errore sta nel fatto che non memorizzi quando una variabile è stata trovata... ma continui a contare le occorrenze.

Nel tuo caso il "3" viene contato 2 volte, in A[0][1] e in A[3][2] + 1 volta "1" + 1 volta "8" = 4
Quindi ti ritorna true!

@Flyer
Non è sbagliatissimo, ma in Java è preferibile usare le variabili booleane, quel metodo lascialo quando programmi in C
Logged

Diventa ciò che sei nato per essere
Flyer
Apprendista Forumista
**
Offline Offline

Posts: 100



« Reply #5 on: 31-01-2010, 13:32:12 »


@Flyer
Non è sbagliatissimo, ma in Java è preferibile usare le variabili booleane, quel metodo lascialo quando programmi in C

No il metodo mi è stato valutato 15 dal Prof, quindi sicuramente è una soluzione corretta 
Quello che vuoi dire riguarda la variabile trovato che è di tipo int invece che boolean?
Logged
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
*****
Offline Offline

Gender: Male
Posts: 4.474


Più grande è la lotta, e più è glorioso il trionfo


WWW
« Reply #6 on: 31-01-2010, 14:41:13 »

[...] posto il primo esercizio sperando che qualcuno mi aiuti a capire cosa ho sbagliato!!
Se invii anche il testo forse qualcuno può aiutarti a capire cosa hai sbagliato ok.
Logged

La grande marcia della distruzione mentale proseguirà. Tutto verrà negato. Tutto diventerà un credo. È un atteggiamento ragionevole negare l'esistenza delle pietre sulla strada; sarà un dogma religioso affermarla. È una tesi razionale pensare di vivere tutti in un sogno; sarà un esempio di saggezza mistica affermare che siamo tutti svegli. Accenderemo fuochi per testimoniare che due più due fa quattro. Sguaineremo spade per dimostrare che le foglie sono verdi in estate. Non ci resterà quindi che difendere non solo le incredibili virtù e saggezze della vita umana, ma qualcosa di ancora più incredibile: questo immenso, impossibile universo che ci guarda dritto negli occhi. Combatteremo per i prodigi visibili come se fossero invisibili. Guarderemo l'erba e i cieli impossibili con uno strano coraggio. Saremo tra coloro che hanno visto eppure hanno creduto.

In tutto, amare e servire.

  
                            ن                           
I can deal with ads,
I can deal with buffer,
but when ads buffer
I suffer...

...nutrimi, o Signore, "con il pane delle lacrime; dammi, nelle lacrime, copiosa bevanda...

   YouTube 9GAG    anobii  S  Steam T.B.o.I. Wiki [univ] Lezioni private  ʼ  Albo d'Ateneo Unicode 3.0.1
Usa "Search" prima di aprire un post - Scrivi sempre nella sezione giusta - Non spammare - Rispetta gli altri utenti - E ricorda di seguire il Regolamento
Crasher
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 417



« Reply #7 on: 31-01-2010, 16:03:57 »

No il metodo mi è stato valutato 15 dal Prof, quindi sicuramente è una soluzione corretta 
Quello che vuoi dire riguarda la variabile trovato che è di tipo int invece che boolean?
Appunto. Non ho detto che è sbagliato... solo che è preferibile usare la variabile boolean piuttosto che l'int...
il controllo lo puoi fare anche con la stringa "trovato" o "non trovato" no cmq sia il programma farà il suo lavoro, ma è soltanto un pessimo modo di programmare pc
Logged

Diventa ciò che sei nato per essere
Flyer
Apprendista Forumista
**
Offline Offline

Posts: 100



« Reply #8 on: 31-01-2010, 16:54:08 »

Appunto. Non ho detto che è sbagliato... solo che è preferibile usare la variabile boolean piuttosto che l'int...
il controllo lo puoi fare anche con la stringa "trovato" o "non trovato" no cmq sia il programma farà il suo lavoro, ma è soltanto un pessimo modo di programmare pc
Venendo dal C++, come hai già detto prima è solo questione di abitudine  ok
Me ne ricorderò  [Emoticon] Asd
Logged
Luckino
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 107


Io nn sono il migliore ma nessuno è migliore di me


« Reply #9 on: 01-02-2010, 09:35:31 »

A parte che ho dovuto capire cosa fa l'esercizio dal metodo di Flyer,  cmq...   testate

@Luckino
il tuo errore sta nel fatto che non memorizzi quando una variabile è stata trovata... ma continui a contare le occorrenze.

Nel tuo caso il "3" viene contato 2 volte, in A[0][1] e in A[3][2] + 1 volta "1" + 1 volta "8" = 4
Quindi ti ritorna true!

@Flyer
Non è sbagliatissimo, ma in Java è preferibile usare le variabili booleane, quel metodo lascialo quando programmi in C


e secondo te è un esercizio da 0 punti??
Logged
Il Capitano
Apprendista Forumista
**
Offline Offline

Posts: 409


« Reply #10 on: 01-02-2010, 10:46:21 »

[...] posto il primo esercizio sperando che qualcuno mi aiuti a capire cosa ho sbagliato!!
Se invii anche il testo forse qualcuno può aiutarti a capire cosa hai sbagliato ok.
Quoto,ragazzi postate anche i testi se potete.
Logged
Mari_C
Apprendista Forumista
**
Offline Offline

Posts: 240


"SmiiiiLe"


« Reply #11 on: 01-02-2010, 11:09:07 »

Ragazzi, qualcuno che posti il secondo? ok
Logged
Flyer
Apprendista Forumista
**
Offline Offline

Posts: 100



« Reply #12 on: 01-02-2010, 13:49:02 »

Ragazzi, qualcuno che posti il secondo? ok
L'ho già postata sopra io 
Logged
Seferex
Matricola
*
Offline Offline

Gender: Male
Posts: 34



« Reply #13 on: 01-02-2010, 14:25:50 »

Ragazzi io purtroppo non ho potuto sostenere la prova il 26..
Tenterò cmq il 16  yoh
Per prepararmi volevo dare un'occhiata al testo di questa prova, qualcuno lo posta pls? ^^
Ah un'altra cosa, l'esercizio postato da Flyer è il primo o il secondo esercizio?
Logged
Flyer
Apprendista Forumista
**
Offline Offline

Posts: 100



« Reply #14 on: 01-02-2010, 14:52:41 »

Per prepararmi volevo dare un'occhiata al testo di questa prova, qualcuno lo posta pls? ^^
Ah un'altra cosa, l'esercizio postato da Flyer è il primo o il secondo esercizio?
Quelli che ho postato sono entrambi, ci sono infatti metodo1 (primo esercizio) e metodo2 (secondo esercizio).
Per i testi non li ho scritti, vado un pò a memoria:
1- Scrivere un metodo che prenda come parametri un vettore B di byte, una matrice A di byte e un int n, e restituisca un boolean che indichi se ci sono almeno n elementi di B presenti in A.

2- Scrivere un metodo che prenda come parametri una matrice frastagliata S di stringhe , un vettore Row di byte, un vettore Pos di byte e un int c, e restituisca una stringa formata in questo modo:
Row indica la riga, c la colonna, Pos la posizione del carattere della stringa. La stringa sarà formata quindi dai caratteri di posizione Pos nella stringa di riga Row e di colonna c. Se la stringa non esiste concatenare alla stringa "*", se il carattere non esiste concatenare "?".

Probabilmente il secondo es non è molto chiaro scritto così ma vado a memoria considerando che è già passata praticamente una settimana  boh
Logged
Pages: [1] 2   Go Up
Print
Jump to: