Benvenuto!
Accedi
o
registrati
.
08-12-2019, 01:53:04
Home
CDL Informatica
UniCT
CEA
Prof
Help
Search
Calendar
Login
Register
Forum Informatica Unict
»
LAUREA TRIENNALE (D.M. 270/04)
»
I anno
»
Programmazione 1, 9 CFU
(Moderators:
Gianluca Cincotti
,
fmessina
) »
Un metodo dove non capisco cos'è in più o in meno
Pages:
1
[
2
]
Go Down
« precedente
successivo »
Print
Author
Topic: Un metodo dove non capisco cos'è in più o in meno (Read 4134 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
JF
Apprendista Forumista
Offline
Gender:
Posts: 383
Re:Un metodo dove non capisco cos'è in più o in meno
«
Reply #15 on:
23-02-2009, 00:15:37 »
Quote from: zElOtO on 22-02-2009, 21:23:45
Scusa ma che caspio sarebbe
Code:
S.length[r]
l'errore è quello
E' uno dei tanti... Reverse mi ha fatto notare che ho preso per buona la prima soluzione che ho visto, correggendo solo la "grammatica", ma in effetti quella soluzione controlla i doppioni per riga e non per colonna. La sua soluzione invece centra il problema (controlla per colonna e non per riga).
Reverse perchè riprendi la variabile "esiste", controllando il suo valore in tutti i cicli, invece di usare direttamente "return true"?
Credo che la condizione da verificare sia "Math.min (S [r1].length, S [r2].length)
>
c", non >= (giusto?). In ogni caso sarebbe equivalente ma un po' più intuitivo a mio parere riscrivere il controllo così:
Code:
if (c<S [r1].length && c<S [r2].length && S[r1][c].equals(S[r2][c])) return true;
Logged
JF
ANSIMA notizie
ULB (2/10)
Hash'em all!
Dall'Irminio all'Aura
†
ɹǝǝuıƃuǝsɹǝʌǝɹ
Administrator
God of the Forum
Offline
Gender:
Posts: 4.475
Più grande è la lotta, e più è glorioso il trionfo
Re:Un metodo dove non capisco cos'è in più o in meno
«
Reply #16 on:
23-02-2009, 01:19:18 »
Quote from: JF on 23-02-2009, 00:15:37
Reverse perchè riprendi la variabile "esiste", controllando il suo valore in tutti i cicli, invece di usare direttamente "return true"?
Ehm... questa è una tecnica che evita di interrompere bruscamente il controllo di flusso, che ho appreso sulla pelle quando ho fatto un parser per progammi ANSI-C (C99) scritto sempre in ANSI-C (C99) per Progetto Software
.
È molto utile in caso di debug, anche se in effetti per un codice così piccolo è difficile non notare i bug
.
Quote
Credo che la condizione da verificare sia "Math.min (S [r1].length, S [r2].length)
>
c", non >= (giusto?). In ogni caso sarebbe equivalente ma un po' più intuitivo a mio parere riscrivere il controllo così:
Code:
if (c<S [r1].length && c<S [r2].length && S[r1][c].equals(S[r2][c])) return true;
Corretto, non ho considerato che la lunghezza è sempre 1+l'indice massimo
. Concordo anche sulla intuitività della seconda espressione
.
Ciao
.
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
ⅱ
anobi
i
S
Steam
☺
T.B.o.I. Wiki
[
]
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
Daréios89
Forumista Eroico
Offline
Gender:
Posts: 2.679
La musica è la forma d'arte suprema.
Re:Un metodo dove non capisco cos'è in più o in meno
«
Reply #17 on:
23-02-2009, 14:53:18 »
Scusate ragazzi ho provato adesso a riscrivere qualcosa ma mi dà sempre il solito errore outofbounds
Ho scritto questo:
Code:
/*Scrivere un metodo che prenda in input una matrice bidimensionale frastagliata S di stringhe e
restituisca un boolean che indichi se esiste una colonna in S contenente due stringhe uguali (saltare le
eventuali stringhe mancanti).*/
class Stringheuguali
{
public static void main(String[] args)
{
String [][] S={{"slurp","unaltroprogramma","benvenga"},
{"festival","marcocarta"},
{"lambda4","sanremo"},
{"cuccaraccia"},
{"lamba","diverto","yeah","ilcuore","cancello"},
{"msn","cenerella","mammamia"}};
System.out.println(prendi(S));
}
public static boolean prendi(String [][] S)
{
boolean esiste =true;
for (int k=0; k<S[0].length; k++)
{
for (int r=0; r<(S.length-1); r++)
{
for (int r1=r+1; r1<S.length; r1++)
if (S[r][k].equals(S[r1][k]))
return esiste;
}
}
return !esiste;
}
}
Logged
"Utilizzare sempre de l'Hôpital.....è come andare a caccia di farfalle con un bazooka".
CollegaCaparezza
Apprendista Forumista
Offline
Posts: 141
Re:Un metodo dove non capisco cos'è in più o in meno
«
Reply #18 on:
23-02-2009, 16:23:12 »
Colleghi una domanda. Due righe r1 ed r2 si dicono compatibili se esiste una stringa in r1 e contemporaneamente la sua inversa in r2. Come faccio a capire quale è il valore inverso della stringa?
Help
Logged
ShiShi
Apprendista Forumista
Offline
Gender:
Posts: 256
Re:Un metodo dove non capisco cos'è in più o in meno
«
Reply #19 on:
23-02-2009, 16:38:20 »
Io senza usare il metodo equals l'ho svolto così, solo che non so come saltare le stringhe mancanti...
Code:
/*Scrivere un metodo che prenda in input una matrice bidimensionale frastagliata S di stringhe e
restituisca un boolean che indichi se esiste una colonna in S contenente due stringhe uguali (saltare le
eventuali stringhe mancanti). */
public class Prova {
public static void main (String[]args) {
String[][]S = {{"abcd", "efgg", "il"},
{"mno", "pqrst"},
{"uvz", "wy", "il"}};
System.out.println (metodo (S));
}
public static boolean metodo (String[][]S) {
boolean prova = false;
for (int r=0; r<S.length; r++) {
for (int r1=r+1; r1<S.length; r1++)
for (int c=0; c<S[r].length-1; c++)
for (int i=0; i<S[r][c].length() && i<S[r1][c].length(); i++)
if (S[r][c].charAt(i) == S[r1][c].charAt(i))
prova = true;
}
return prova;
}
}
Logged
atrix0ne
Forumista
Offline
Posts: 607
homo faber fortunae suae
Re:Un metodo dove non capisco cos'è in più o in meno
«
Reply #20 on:
23-02-2009, 17:01:52 »
equals è piu' semplice ed efficace e ti permette di non usare i for per il charat .winkquindi se non è vietato usarlo xkè non utilizzarlo?
Logged
Link Immagine
zElOtO
Forumista
Offline
Gender:
Posts: 845
Re:Un metodo dove non capisco cos'è in più o in meno
«
Reply #21 on:
23-02-2009, 17:04:06 »
Quote from: atrix0ne on 23-02-2009, 17:01:52
equals è piu' semplice ed efficace e ti permette di non usare i for per il charat .winkquindi se non è vietato usarlo xkè non utilizzarlo?
Logged
I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. Insieme sono una potenza che supera l'immaginazione. (A. Einstein)
Damiano Cancemi
www.damianocancemi.com
www.nerdbren.com
www.nerdbren.com/blog
ShiShi
Apprendista Forumista
Offline
Gender:
Posts: 256
Re:Un metodo dove non capisco cos'è in più o in meno
«
Reply #22 on:
23-02-2009, 17:05:52 »
infatti se non è vietato lo uso, è per avere sempre un'alternativa
Logged
Pages:
1
[
2
]
Go Up
Print
« precedente
successivo »
Jump to:
Please select a destination:
-----------------------------
Area Ufficiale
-----------------------------
=> Annunci Ufficiali
=> Segreteria Didattica
=> Aiuto, proposte e commenti
=> Stages e progetti finali
=> C.O.F. Centro Orientamento e Formazione
=> Messaggi (d)agli amministratori del forum
-----------------------------
LAUREA TRIENNALE (D.M. 270/04)
-----------------------------
=> I anno
===> Architettura degli Elaboratori, 9 CFU
===> Elementi di Analisi Matematica, 12 CFU
===> Fondamenti di Informatica, 9 CFU
===> Matematica Discreta, 12 CFU
===> Programmazione 1, 9 CFU
===> Programmazione 2, 9 CFU
=> II anno
===> Algoritmi, 9 CFU
===> Basi di Dati, 9 CFU
===> Fisica, 9 CFU
===> Ingegneria del Software, 9 CFU
===> Inglese, 3 e 6 CFU
===> Interazione e Multimedia, 9 CFU
===> Sistemi Operativi, 9 CFU
=> III anno
===> Calcolo Numerico, 6 CFU
===> Formazione Numerica, 6 CFU
===> Introduzione all'Analisi dei Dati, 9 CFU
===> Metodi Matematici e Statistici, 6 CFU
===> Reti di Calcolatori, 9 CFU
===> Tecniche di Programmazione Concorrente e Distribuita, 9 CFU
===> Teoria dell'Informazione e Crittografia, 9 CFU
=> III anno - Materie a scelta (crediti liberi)
===> Computer Forensics, 6 CFU
===> Computer Graphics, 9 CFU
===> Digital Game Development, 6 CFU
===> GPGPU/CUDA, 6 CFU
===> Informatica Musicale, 6 CFU
===> LAP 1: programmazione C/C++ 6 CFU
===> LAP 2: Programmazione Android, 6 CFU
===> Sistemi Centrali, 6 CFU
===> Startup d'impresa e Modelli di Business, 6 CFU
===> Internet Security 9 CFU
===> Social Media Management, 6 CFU
=> Corsi disattivati - Vecchio curriculum
===> E-Commerce, 6 CFU
===> Legislazione Informatica, 6 CFU
===> Teoria della Computabilità, 9 CFU
-----------------------------
LAUREA MAGISTRALE
-----------------------------
=> I ANNO
===> Intelligenza Artificiale e Lab, 9 CFU
===> Algoritmi e Complessità, 9 CFU
===> Computer Vision, 9 CFU
===> Crittografia, 9 CFU
===> Fondamenti e Linguaggi per la Programmazione Distribuita
===> Inglese Scientifico, 3 CFU
===> Metodi analitici per l'informatica, 6 CFU
===> Metodi Matematici per l'Ottimizzazione (Corso Integrato), 12 CFU
===> Multimedia, 9 CFU
===> Sicurezza dei Sistemi Informatici 9 CFU
===> Computer Security, 9 CFU
=> II ANNO
===> Machine Learning 6 CFU
===> Teoria della Computabilità, 9 CFU
===> Analisi e Gestione dei Dati, 9 CFU
===> Compilatori, 9 CFU
===> Computazione Naturale e BioIspirata, 6 CFU
===> Introduzione alla Bioinformatica, 9 CFU
===> Linguaggi Formali e Applicazioni, 9 CFU
===> Logica Computazionale, 9 CFU
===> P2P & Wireless Networks, 9 CFU
===> Pattern Recognition, 9 CFU
===> Sistemi Distribuiti, 9 CFU
===> Sistemi dedicati e laboratorio, 9 CFU
===> Web Reasoning
=> Corsi disattivati - Vecchio curriculum
===> Fisica moderna per l'informatica, 6 CFU
===> Linguaggi di Programmazione, 9 CFU
===> Protocolli di Rete
===> Teoria dei Codici, 6 CFU
-----------------------------
Vecchi ordinamenti ad esaurimento
-----------------------------
=> Laurea Triennale (D.M. 509/00)
===> Algoritmi 1
===> Algoritmi 2
===> Basi Teoriche dell'Informatica
===> Economia Aziendale
===> Fisica 1, 6 CFU
===> Fisica 2, 6 CFU
===> Fisica 3
===> Formazione Analitica 1
===> Formazione Analitica 2
===> Formazione Discreta 1
===> Formazione Discreta 2
===> J2ME
===> Lab. Amministrazione di Sistemi
===> Laboratorio di Interazione
===> Modelli Matematici
===> Multimedia per Dispositivi Mobile
===> Progetto Software
===> Reti 1, 6 CFU
===> Sicurezza dei Sistemi Informatici 1
===> Sistemi Distribuiti 1
===> Teoria dei Grafi
===> Usabilità ed Estetica del Web
===> Web Programming
=> Laurea Specialistica (D.M. 509/00)
===> Algoritmi 3
===> Analisi Numerica
===> Complessità
===> Computabilità
===> Data analysis e management
===> Ingegneria del software 2
===> Linguaggi Formali
===> Metodi algoritmici per l'ottimizzazione combinatoria
===> Programmazione Funzionale
===> Reti di Calcolatori 2
===> Ricerca Operativa
===> Sistemi Distribuiti 2
-----------------------------
Dottorandi
-----------------------------
=> Wall
=> Events
-----------------------------
Area Studenti
-----------------------------
=> Agorà
=> L'angolo del tecnico
=> Il Mercatino degli studenti
=> Software
===> -vecchia catalogazione [sarà rimossa a breve]-
=====> Proprietario
=====> Free Software
=====> Open Source
===> Approfondimenti
===> News
===> Studio
===> Videogiochi
===> Networking e telecomunicazioni
===> Sviluppo
===> Ufficio e produttività
===> Sistemi Operativi
=====> Microsoft Windows
=====> GNU/Linux, Unix e BSD
=====> Mac OS X
=====> Windows Phone
=====> Android
=====> iOS
=====> Altri
===> Eventi, conferenze, concorsi
=> Microsoft Student Partner - Avvisi e informazioni
=> ERASMUS/borse di studio internazionali
Caricamento in corso...