Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 29-10-2003, 11.37.38   #1
GiulioCesare
Senior Member
 
L'avatar di GiulioCesare
 
Registrato: 02-04-2003
Loc.: Roma
Messaggi: 313
GiulioCesare promette bene
Array e Matrice di tipo stringa

Salve ragazzi, devo fare un programma che dato una matrice 3x3 di tipo
stringa, dia un array di 9 elementi di tipo stringa ordinato
descrescentemente, cioè dalla stringa con meno caratteri a quella con più
caratteri, e poi un altro array sempre di 9 elementi questa volta di tipo
intero che dica di quanti caratteri e composto ogni singolo elemento l'array precedente.

Qualcuno mi sa aiutare
GiulioCesare non è collegato   Rispondi citando
Vecchio 29-10-2003, 22.07.28   #2
Cucciolo
Senior Member
 
L'avatar di Cucciolo
 
Registrato: 25-04-2003
Messaggi: 372
Cucciolo promette bene
ma con quale linguaggio?
___________________________________

~Cucciolo~

Per trattare te stesso usa la testa, per trattare gli altri usa il tuo cuore.
Cucciolo non è collegato   Rispondi citando
Vecchio 30-10-2003, 15.12.21   #3
GiulioCesare
Senior Member
 
L'avatar di GiulioCesare
 
Registrato: 02-04-2003
Loc.: Roma
Messaggi: 313
GiulioCesare promette bene
IL programma deve essere fatto in C++ , scusate la dimenticanza ehehhe
GiulioCesare non è collegato   Rispondi citando
Vecchio 30-10-2003, 21.20.24   #4
Cucciolo
Senior Member
 
L'avatar di Cucciolo
 
Registrato: 25-04-2003
Messaggi: 372
Cucciolo promette bene
mi spiace ma nn posso aiutarti
___________________________________

~Cucciolo~

Per trattare te stesso usa la testa, per trattare gli altri usa il tuo cuore.
Cucciolo non è collegato   Rispondi citando
Vecchio 31-10-2003, 16.28.52   #5
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Non lasciarti fuorviare dal fatto che hai array bidimensionali, considerali monodimensionali.
Mi spiego meglio:
Tu hai una situazione del tipo:

MioArray[3][3]

Farai inserire all'utente n° 9 (3x3) elementi, cioè ad esempio:

MioArray[1,1]="a"
MioArray[1,2]="b"
MioArray[1,3]="c"
MioArray[2,1]="d"
MioArray[2,2]="e"
MioArray[2,3]="f"
MioArray[3,1]="g"
MioArray[3,2]="h"
MioArray[3,3]="i"

Poi dovrai ordinarli in ordine decrescente ma ogni singolo elemento dovrà essere inserito in un array monodimensionale da n° 9 elementi.
Questo significa che:

MioArray1[1]=MioArray[1,1]
MioArray1[2]=MioArray[1,2]
MioArray1[3]=MioArray[1,3]
MioArray1[4]=MioArray[2,1]
MioArray1[5]=MioArray[2,2]
MioArray1[6]=MioArray[2,3]
MioArray1[7]=MioArray[3,1]
MioArray1[8]=MioArray[3,2]
MioArray1[9]=MioArray[3,3]

A questo punto si tratta solo di eseguire un semplice algoritmo di ordinamento sequenziale in ordine decrescente (Bubblesort va benissimo per matrici di dimensioni così ridotte, altrimenti sarebbe sempre consigliato il Quicksort).

Codice:
for(a=1; a<9 ; a++)
 for(b=8 ; b>=a; b--)         
 {
  if(MioArray[b-1] < MioArray[b]) // Se MioArray[b-1] > MioArray[b] hai l'ordinamento crescente
  {
   t = MioArray[b-1];
   MioArray[b-1] = MioArray[b];
   MioArray[b] = t;
  }
 }
Praticamente utilizza una serie di confronti e, se necessario, scambia gli elementi adiacenti dell'array.
Alla fine avrai i,h,g,f,e,d,c,b,a

Saluti
LoryOne non è collegato   Rispondi citando
Vecchio 31-10-2003, 16.51.52   #6
GiulioCesare
Senior Member
 
L'avatar di GiulioCesare
 
Registrato: 02-04-2003
Loc.: Roma
Messaggi: 313
GiulioCesare promette bene
In effetti ho provato a fare proprio come dici tu, anche se la cosa è un pò più complessa visto che parto da una matrice di stringhe, e voglio due array risultanti uno di interi e uno di stringhe, ho provato a buttare giù una bozza di codice, ma il compilatore non vuole saperne di compilare , metto qui la sorgente, sperando che qualcuno mi dica che errori ci sono:

#include <iostream>
#include <cstring>

char scambio_v[9][10](char v[9][10])
{
int i;
char temp[10];

for (i=0; i<=8; i++)
{
if (strlen(v[i])<strlen(v[i++]))
{
strlcpy(temp,v[i]);
strlcpy(v[i],v[i++]);
strlcpy(v[i++],temp);

}
}
for (i=0; i<=8; i++)
return v[i];


}

int scambio_z[9](int z[9])
{
int i,temp;

for (i=0; i<=8; i++)
{
if (z[i]<z[i++])
{
temp=z[i];
z[i]=z[i++];
z[i++]=z[i];

}
}
for (i=0; i<=8; i++)
return z[i];

}

using namespace std;
int main()
{
char matrice[3][3][10];
char v[9][10];
int z[9];
int i,j,x;


cout<<"Inizializzazione matrice" <<endl;
for (i=0; i<=2; i++)
for (j=0; j<=2; j++)
cin>>matrice[i][j];


x=0;
for (i=0; i<=2; i++)
for (j=0; j<=2; j++)
{
strcpy(v[x],matrice[i][j]);
z[x]=strlen(matrice[i][j]);
x=x+1;
}

for (i=0; i<=8; i++)
{
strcpy(v[i],scambio_v(v));
z[i]=scambio_z(z);
}
cout<<"Vettore ordinato descrescentemente" <<endl;
for (i=0; i<=8; i++)
cout<<v[i] <<endl;

cout<<"Vettore contenente la lunghezza di ogni stringa" <<endl;
for (i=0; i<=8; i++)
cout<<z[i] <<endl;

return 0;
}
GiulioCesare non è collegato   Rispondi citando
Vecchio 20-11-2003, 14.03.47   #7
metallica83
Junior Member
 
Registrato: 23-04-2001
Loc.: Dietro questa porta
Messaggi: 88
metallica83 promette bene
Il codice in teoria sembra corretto; puo' darsi che tu abbia usato alcune funzioni proprie del C non riconosciute con C++...

Ho provato a compilare il programma con Visual C++ e mi ha trovato i seguenti errori:

-scambio_v[9][10] e scambio_z[9] non possono essere usati per nomi di funzioni (prova con scambio_v e scambio_z)
-strlcpy non e' una funzione valida (strcpy e' quella corretta)
Inoltre prova a ricontrollare la dichiarazione di main che a me risulta errata alla compilazione.

ciao
___________________________________

www.zwan.com

www.pumpkins.it

TheSmAsHiNgPUMPKINS Net Point


Ultima modifica di metallica83 : 20-11-2003 alle ore 21.04.29
metallica83 non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
[C] Battaglia Navale (versione client server) in Linux Nanri Programmazione 11 06-08-2005 14.50.27
velocizzare VB6 NS-1 Programmazione 13 11-06-2004 09.55.22

Orario GMT +2. Ora sono le: 02.04.41.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.