|
|
|
|
| |
|
korn |
il programma ORDINAPAROLE già esiste nell'area fi ... |
19-09-2002 13:52 |
|
|
korn |
SET FIRE!
Registered: Jun 2002
Posts: 5793 (0.70 al dì)
Location: Milano
Corso: Comunicazione Digitale
Anno: 1°! ....fuori corso :(
Time Online: 37 Days, 5:56:42 [...]
Status: Offline
Edit | Report | IP: Logged |
il programma ORDINAPAROLE già esiste nell'area files, l'unica differenza è che in questo caso non sono 100 ma X parole da inserire, quindi invece di dichiarare l'array in questo modo:
code: String[] parole = new String[100];
si fa cosi' (ci sono altri metodi, questo è uno):
code:
int quante = Integer.parseInt(JOptionPane.showInputDialog("Quante parole?"));
String parole[] = new String[quante];
e poi esegui il ciclo di input come sempre:
code:
for (int i = 0; int < parole.length; i++) {
// lettura dati da tastiera
}
__________________
» Collect some stars to shine for you, and start today ‘cause there are only a few. _ (In Flames)
» Don't stop for nothing, it's full speed or nothing! I'm taking down, you know, whatever is in my way! _ ('tallica)
» I am my own god, I do as I please. _ (Pain)
» Ninetynine, ninetynine knives! Ninetynine knives inside! Nobody gets out alive! _ (The Haunted)
Web: http://www.negativesignal.com - ICQ# 171585477 - Death to software patents! And TCPA too! "e uno!", diceva il boia.
|
19-09-2002 13:52 |
|
|
| |
|
korn |
eh, temo proprio di no!!!!
... |
20-09-2002 15:48 |
|
|
korn |
SET FIRE!
Registered: Jun 2002
Posts: 5793 (0.70 al dì)
Location: Milano
Corso: Comunicazione Digitale
Anno: 1°! ....fuori corso :(
Time Online: 37 Days, 5:56:42 [...]
Status: Offline
Edit | Report | IP: Logged |
eh, temo proprio di no!!!!
hai cercato di fondere DoubleSort e OrdinaParole eh????
ok, ti dò la soluzione, ma prima:
DOVUTA PRECISAZIONE: il seguente programma non è opera mia, l'autore originale è WEBNOISE! io l'ho solo modificato per accettare un numero indefinito di parole e non 100 fisse come in origine.
ecco il risultato:
code:
import javax.swing.*;
public class Ordinaparole {
public static void main(String[] args)
{
// creiamo il nostro array
int quante = Integer.parseInt(JOptionPane.showInputDialog("Quante parole vuoi inserire?"));
String a[] = new String [quante]; //vettore di 100 elementi di tipo Stringa
//ciclo for per l'input delle x parole da tastiera
for (int i=0; i<a.length ; i++ )
a[i] = JOptionPane.showInputDialog( null, "Inserisci la " + (i+1) + " parola");
//richiama il metodo per l'ordinamento a bolle ( bubbleSort )
//input il vettore (array) da ordinare
bubbleSort( a );
String output =""+ "\n\nParole ordinate lessicograficamente\n";
// buffer stringa: inizializzazione e titolazione
// **************** FILTRO ELIMINAZIONE DUPLICATI *****************************
for ( int i = 0; i < a.length; i++ )
if (a[i]!="~")
output += "\n" + a[ i ]; //concatena le parole e le mette nel
//buffer stringa: se trova il carattere ~ (duplicati) li ignora
System.out.println(output); //visualizza le parole ordinate lessicograficamente
System.exit (0); //esce
}
// ordina gli elementi dell'array utilizzando un algoritmo di ordinamento
// a bolle (BubbleSort).
//Vedi capitolo 7 libro Java - Fondamenti di programmazione Deitel&Deitel
public static void bubbleSort( String b[] )
{
for ( int pass = 1; pass < b.length; pass++ ) // primo ciclo for
for ( int i = 0; i < b.length - 1; i++ ) // secondo ciclo for
if ( (b[ i ].compareTo(b[ i + 1 ])==0)) // primo confronto: se esistono
//parole uguali le contrassegna con ~
b [ i ] = "~" ;
else
{
if ( (b[ i ].compareTo(b[ i + 1 ])>0) ) // confronto e ordinamento lessicografico
swap( b, i, i + 1 ); // scambio
}
}
// metodo che scambia due stringhe nell'array di stringhe
public static void swap( String c[], int primo, int secondo )
{
String temp; // variabile String temporanea per effettuare lo scambio
temp = c[ primo ];
c[ primo ] = c[ secondo ];
c[ secondo ] = temp;
}
}
compilalo e vedi se funge!!
__________________
» Collect some stars to shine for you, and start today ‘cause there are only a few. _ (In Flames)
» Don't stop for nothing, it's full speed or nothing! I'm taking down, you know, whatever is in my way! _ ('tallica)
» I am my own god, I do as I please. _ (Pain)
» Ninetynine, ninetynine knives! Ninetynine knives inside! Nobody gets out alive! _ (The Haunted)
Web: http://www.negativesignal.com - ICQ# 171585477 - Death to software patents! And TCPA too! "e uno!", diceva il boia.
|
20-09-2002 15:48 |
|
|
| |
|
All times are GMT. The time now is 20:54. |
|
|
|
|
|
|
|
| |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|