Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: Meluccio10 on 31-01-2011, 12:20:32



Title: Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 12:20:32
Ragazzi questo codice mi da errore....ma nn riesco a trovare dove sbaglio....sapete darmi qualke dritta.... :"-(??????
Code:
/*Esercizio 14
Scrivere un metodo che prenda come parametro formale un array A bidimensionale nxm di interi e
restituisca un array di interi di dimensione m contenente le somme delle rispettive colonne di A.
*/
public class Es14{
class Arraybidimensionale{
public static int []B miometodo(int [][] A){
int n,m,k; int somma=0; //creo la variabile somma;
int [] B=new int [A[0].length]; // creo l'array B di uguale dimenzione ad A
for(m=0;m<A[0].length;m++){ //scorro le colonne
somma=0; //metto somma uguale a zerò perchè ogni iterazione esegula la somma
//della prima colonna e poi la riazzero procedendo cn la somma della colonna
//successiva cosi facendo evito si fare la somma sulla somma perchè se a prima iterazione
// ho 5 poi avrei 5+7 così dicendo perciò tolgo qst problema!
for(n=0;n<A.length;n++) //scorro gli elementi delle colonne
                                     //che con il primo for mi servono per fare la somma delle rispettive colonne
somma+=A[n][m];
B[k]=somma;
}
return B;
}
}


public static void main(String[]args){
int n,m,k; int somma=0;
int [][]A={{2,8},{5,6},{4,7}};
int [] B={2,8};
somma+=A[n][m];
B[k]=somma;
System.out.println(Arraybidimensionali.miometodo(B));
}
}


Title: Re:Esercizio14 pdf
Post by: Luxandro on 31-01-2011, 12:41:33
Fondamentalmente la variabile k non serve... alla fine del calcolo di ogni somma dovresti assegnare somma
all'array B di indice "m", ovvero
Code:
B[m]=somma;


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 12:44:12
vuoi dire in qst modo????
Code:
class Arraybidimensionale{
public static int [] B miometodo(int [][] A){
int n,m; int somma=0; //creo la variabile somma;
int [] B=new int [A[0].length]; // creo l'array B di uguale dimenzione ad A
for(m=0;m<A[0].length;m++){ //scorro le colonne
somma=0; //metto somma uguale a zerò perchè ogni iterazione esegula la somma
//della prima colonna e poi la riazzero procedendo cn la somma della colonna
//successiva cosi facendo evito si fare la somma sulla somma perchè se a prima iterazione
// ho 5 poi avrei 5+7 così dicendo perciò tolgo qst problema!
for(n=0;n<A.length;n++) //scorro gli elementi delle colonne
                                     //che con il primo for mi servono per fare la somma delle rispettive colonne
somma+=A[n][m];
B[m]=somma;
}
return B;
}
}

public class Es14{
public static void main(String[]args){
int n,m; int somma=0;
int [][]A={{2,8},{5,6},{4,7}};
int [] B={2,8};
somma+=A[n][m];
B[m]=somma;
System.out.println(Arraybidimensionale.miometodo(B));
}
}


Title: Re:Esercizio14 pdf
Post by: Luxandro on 31-01-2011, 12:49:29
Esatto! L'array B di indice "m" deve scorrere insieme alle colonne della matrice


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 12:52:18
perfetto....però mi da sempre errore.....#@!!0ooo!!!!!
Code:
>javac Es14.java
Es14.java:7: ';' expected
public static int [] B miometodo(int [][] A);{
                      ^
Es14.java:7: invalid method declaration; return type required
public static int [] B miometodo(int [][] A);{
                       ^
2 errors
>Exit code: 1


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 12:54:23
perfetto....però mi da sempre errore.....#@!!0ooo!!!!!
Code:
>javac Es14.java
Es14.java:7: ';' expected
public static int [] B miometodo(int [][] A);{
                     ^
Es14.java:7: invalid method declaration; return type required
public static int [] B miometodo(int [][] A);{
                      ^
2 errors
>Exit code: 1


Sbagli a scrivere il metodo


Title: Re:Esercizio14 pdf
Post by: Luxandro on 31-01-2011, 12:56:08
Code:
public static int [] B miometodo(int [][] A)

tipo ritornato = int []

quindi devi omettere la B


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 12:57:52
Code:
public static int [] B miometodo(int [][] A)

tipo ritornato = int []

quindi devi omettere la B

Un metodo va scritto sencondo la sintassi: <<tipo restituito>>, <<nome metodo>> nel tuo caso la "B" è sbagliata nella sintassi public static int [] B miometodo(int [][] A);{


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 13:01:40
l'ho corretto ma mi da quest'altro errore.....
Code:
Es14.java:7: <identifier> expected
public static int [] miometodo(int [][] ){
                                       ^
1 error
>Exit code: 1


Title: Re:Esercizio14 pdf
Post by: Luxandro on 31-01-2011, 13:05:25
manca la A
Code:
public static int [] miometodo(int [][] A ){
cosi dovrebbe andare


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 13:11:52
mi da lo stesso qst errore anche con la A.....
Code:
Es14.java:31: miometodo(int[][]) in Arraybidimensionale cannot be applied to (int[])
System.out.println(Arraybidimensionale.miometodo(B));
                                      ^
1 error
>Exit code: 1


Title: Re:Esercizio14 pdf
Post by: StephCT on 31-01-2011, 13:25:36
vuoi stampare un array, difficile così XD
nel main devi dichiarare un array che come costruttore ha il metodo che tu hai scritto. mi pare che la sintassi sia:
int[] Array2=Arraybidimensionale.miometodo(B);
supponendo che array2 sia quello nuovo, e poi devi fare un ciclo al solito per stampare tutti i nuovi numeri


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 13:29:39
scusa la mia ignoranza....ma facendo un ciclo for delle colonne nn mi dovrebbe funzionare???


Title: Re:Esercizio14 pdf
Post by: StephCT on 31-01-2011, 14:33:45
ciclo for per fare cosa?


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 16:38:23
come faccio a farlo funzionare????


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 16:52:55
Code:
public class Es14{
public static void main(String[]args){
int n=0,m=0; int somma=0;
int [][]A={{2,8},{5,6},{4,7}};
int [] B=new int [2];

System.out.println(Arraybidimensionale.miometodo(A));
}
}
COME RIESCO A FARLO FUNZIONARE?????????????????


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 17:32:04
nn si capisce più qual è il tuo problema  .penso


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 17:41:08
voglio provare se il mio metodo è giusto attraverso un main ke sia altrettanto corretto.....ma nn ci riesco...qualke suggerimento?o soluzione?


Title: Re:Esercizio14 pdf
Post by: StephCT on 31-01-2011, 17:48:30
prova a scrivere:
int [] B=Arraybidimensionale.miometodo(A); e poi fai un ciclo per stampare gli elementi sempre nel main


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 17:51:54
voglio provare se il mio metodo è giusto attraverso un main ke sia altrettanto corretto.....ma nn ci riesco...qualke suggerimento?o soluzione?
Allora scusa se hai fatto l' esercizio postalo tutto cn la cosegna e magari segnali gli errori e vediamo a che putno sei....


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 18:26:02
Code:
/*Esercizio 14
Scrivere un metodo che prenda come parametro formale un array A bidimensionale nxm di interi e
restituisca un array di interi di dimensione m contenente le somme delle rispettive colonne di A.
*/

class Arraybidimensionale{
public static int [] miometodo(int [][]A){
int n,m; int somma=0; //creo la variabile somma;
int [] B=new int [A[0].length]; // creo l'array B di uguale dimenzione ad A
for(m=0;m<A[0].length;m++){ //scorro le colonne
somma=0; //metto somma uguale a zerò perchè ogni iterazione esegula la somma
//della prima colonna e poi la riazzero procedendo cn la somma della colonna
//successiva cosi facendo evito si fare la somma sulla somma perchè se a prima iterazione
// ho 5 poi avrei 5+7 così dicendo perciò tolgo qst problema!
for(n=0;n<A.length;n++) //scorro gli elementi delle colonne
                                     //che con il primo for mi servono per fare la somma delle rispettive colonne
somma+=A[n][m];
B[m]=somma;
}
return B;
}
}

public class Es14{
public static void main(String[]args){
int n=0,m=0; int somma=0;
int [][]A={{2,8},{5,6},{4,7}};
int [] B=Arraybidimensionale.miometodo(A);
somma+=A[n][m];
B[m]=somma;


System.out.println(B);
}
}
suggerimenti?


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 18:32:46
intanto c'è un errore nel main quando richiami il metodo... nn è quello il modo.. la sintatti è <<nome metodo>> = <<(parametri da passare)>>


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 18:37:51
Hai scitto anche due volte class  .huh .... nel main hai fatto quello che già nel metodo hai specificato. Il main dovresti scriverlo nel seguente modo
Code:
public static void main(String[]args){
int n=0,m=0; int somma=0;
int [][]A={{2,8},
             {5,6},
             {4,7}};
int [] B=miometodo(A);
.....  |-O forse hai salto diverse lezioni di programmazione

In infine il codice dovresti farlo nel seguente modo:
Code:
public class Ex2{
public static int [] miometodo(int [][]A){
int n,m; int somma=0;
                                 int [] B=new int [A[0].length];
                                      for(m=0;m<A[0].length;m++){
somma=0;
for(n=0;n<A.length;n++){                                     somma+=A[n][m];
B[m]=somma;
}
}
return B;
}
public static void main(String[]args){
int n=0,m=0; int somma=0;
int [][]A={{2,8},
             {5,6},
             {4,7}};
int [] B=miometodo(A);


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 18:42:56
si ma come hai scritto tu nn funziona.......


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 18:44:01
si ma come hai scritto tu nn funziona.......
Controlla bene xk funziona  :[Emoticon] PC Asd:


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 18:53:08
ma ke stai dicendo???? mi esce la locazione di memoria e basta.......


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 18:56:03
ma ke stai dicendo???? mi esce la locazione di memoria e basta.......
nn posso farci nnt se nn c'è la fai a scrivere  :-OK la stampa risulta in uscita ho una array di due locazioni le rispettive somme delle due colonne bisogna vedere qll che hai scritto tu se riesci a ricopiare bene  .whistling


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 18:59:04
hai qualke problema a livello celebrale vai a farti fare una TAC  immediatamente che sei in pericolo.....


Title: Re:Esercizio14 pdf
Post by: StephCT on 31-01-2011, 18:59:33
ma essendo miometodo static, nn dovrebbe scrivere nomeclasse.nomemetodo(parametri)? invece del solo nomemetodo(parametri)? come un pò i metodi, per esempio, della classe math....

meluccio calmati xò


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 19:01:10

meluccio calmati xò
Se quello guarda più soprà c'è il l'esercizio completo.. sperando che lo capisce  :pray hahahah


Title: Re:Esercizio14 pdf
Post by: StephCT on 31-01-2011, 19:05:51
ho detto una ca***ta. si trova nella stessa classe quindi si può scrivere solo miometodo xD pensavo fosse come l'esercizio precedente postato da lui dove il metodo stava in un'altra classe rispetto al main


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 19:11:03
police hai trovato una bella immagine per il tuo profilo...furbo come un carabiniere....ma se l'esercizio l ho copiato da qll ke hai scritto tu e mi da la locazione di memoria lo stesso ci sarà qualke problema....visto ke l'ho riguardato 150 volte ed è preciso a come l'hai scritto tu....


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 19:16:36
police hai trovato una bella immagine per il tuo profilo...furbo come un carabiniere....ma se l'esercizio l ho copiato da...
hahahahah ma che *** significa hahaha  :boh! cmq il codice scritto da copiare è dove c'è scritto "c'è scritto dovresti farlo così" capito???


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 19:23:19
no ho cpt sl ke come l'hai scritto tu nn funziona.


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 19:26:53
no ho cpt sl ke come l'hai scritto tu nn funziona.
Dimmi l' errore che ti da e posta il codice sn proprio curioso  :-)L


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 19:29:03
mi da la locazione di memoria e basta


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 19:30:59
mi da la locazione di memoria e basta
e perchè nn lo posti dai!! che sn curioso ^_____________^


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 19:33:58
Code:
public class Ex2{
public static int [] miometodo(int [][]A){
int n,m; int somma=0;
                                 int [] B=new int [A[0].length];
                                      for(m=0;m<A[0].length;m++){
somma=0;
for(n=0;n<A.length;n++){
somma+=A[n][m];
B[m]=somma;
}
}
return B;
}
public static void main(String[]args){
int n=0,m=0; int somma=0;
int [][]A={{2,8},
             {5,6},
             {4,7}};
int [] B=miometodo(A);
 
     System.out.println(A);
     }
     }
         
         


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 19:37:59
Usa il tag code(sappiamo il motivo) e scrivi l' errore che ti da voglio sapere il rigo... dai ci vuole tanto a farlo  :-)L


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 19:41:43
Code:
>java -cp . Ex2
[[I@3e25a5
>Exit code: 0


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 19:46:00
Code:
>java -cp . Ex2
[[I@3e25a5
>Exit code: 0

Punto 1 nn è errore quello
Punto 2 hai modificato il main la print mia è su B mentre tu l' hai cambiata cn A
Punto 3 nn è un errore
Punto 4 quella è la stampa di indirizzo di memoria dell' array oggetto
Punto5 Studia di più
Punto 6 Mi sa che la TAC se la deve fare qualcun altro che ne pensi  .whistling


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 19:48:12
PUNTO 1 COSI NN MI PARRA MANCU ME PADRI PUNTO 2 MENOMALE KE NN SIAMO UNO DI FRONTE ALL'ALTRO....PIKKI PIDDAVERU I CARABINERI AVII A GHIAMARI....


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 19:51:14
Io avevo ragione... nn volevi capire  :-)L


Title: Re:Esercizio14 pdf
Post by: Meluccio10 on 31-01-2011, 19:53:25
MA DICI ANCHE ##@@ DOVE LA FAI STA PRINT DI B SENTIAMO??? GUARDA IL CODICE KE HAI POSTATO TU.....E CMQ STAI ATTENTO...A COMI PARRI!!!!!


Title: Re:Esercizio14 pdf
Post by: Stardust on 31-01-2011, 19:56:41
L esercizio è stato fatto.. nn spammare sul forum  .ciaociao alla prossima   Ps: ho sempre detto il vero  :yoh