Matrice di caratteri ( inseriti da tastiera ) ordinati in ordine alfabetico

MegaMind

Nuovo Utente
12 Mag 2019
2
0
0
Salve,
ho trovato questo programmino dove vengono ordinate in ordine alfabetico le parole ma vorrei modificarlo un po': vorrei che i caratteri che verranno ordinati vengano inseriti da tastiera.
ho provato varie volte senza riuscirci… :(

Ecco il programma:
Codice:
#include <cstdlib>
#include <iostream>
#include <string.h>


using namespace std;

const int PAROLE=10, CARATTERI_PER_PAROLA=15; //in realtà sono 14 col carattere di terminazione stringa

int ordinamento_alfabetico ( char matrice_da_ordinare[PAROLE][CARATTERI_PER_PAROLA]);

int main(int argc, char *argv[])
{
char strarray [PAROLE][CARATTERI_PER_PAROLA] = {"allocchi", "albergoni", "cornetti", "basandri", "abbonati", "CIAO", "A", "mera", "LAURA", "gufo"};

//visualizzo matrice di stringhe iniziale
for (int i=0;i<PAROLE;i++)
cout<< strarray<<endl;

//ordino alfabeticamente
ordinamento_alfabetico (strarray);

//visualizzo matrice ordinata
cout<< endl<<endl<<endl;
for (int i=0;i<PAROLE;i++)
cout<< strarray<<endl;


system("PAUSE");
return EXIT_SUCCESS;
}



//ordinamento con algoritmo Boubble sort
int ordinamento_alfabetico ( char matrice_da_ordinare[PAROLE][CARATTERI_PER_PAROLA])
{
char hold [CARATTERI_PER_PAROLA];
for(int x = 0; x < (PAROLE -1); x++)
{
for(int y = (x+1); y < PAROLE; y++)
{

if(strcmp(matrice_da_ordinare[x], matrice_da_ordinare[y]) > 0)
{
strcpy (hold, matrice_da_ordinare[x]);
strcpy (matrice_da_ordinare[x], matrice_da_ordinare [y]);
strcpy (matrice_da_ordinare[y], hold);
}
}
}
}
 
Ultima modifica di un moderatore:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.449
338
83
@MegaMind

Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
code.gif
quando posti del codice, oppure la funzione codice dalla barra degli strumenti
box inserisci 2.png.JPG

Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
Grazie
Per questa volta te lo sistemo io ma mi raccomando per il futuro
 

NoNameoN

Nuovo Utente
3 Giu 2020
3
0
1
Salve,
ho trovato questo programmino dove vengono ordinate in ordine alfabetico le parole ma vorrei modificarlo un po': vorrei che i caratteri che verranno ordinati vengano inseriti da tastiera.
ho provato varie volte senza riuscirci… :(

Ecco il programma:
Codice:
#include <cstdlib>
#include <iostream>
#include <string.h>


using namespace std;

const int PAROLE=10, CARATTERI_PER_PAROLA=15; //in realtà sono 14 col carattere di terminazione stringa

int ordinamento_alfabetico ( char matrice_da_ordinare[PAROLE][CARATTERI_PER_PAROLA]);

int main(int argc, char *argv[])
{
char strarray [PAROLE][CARATTERI_PER_PAROLA] = {"allocchi", "albergoni", "cornetti", "basandri", "abbonati", "CIAO", "A", "mera", "LAURA", "gufo"};

//visualizzo matrice di stringhe iniziale
for (int i=0;i<PAROLE;i++)
cout<< strarray<<endl;

//ordino alfabeticamente
ordinamento_alfabetico (strarray);

//visualizzo matrice ordinata
cout<< endl<<endl<<endl;
for (int i=0;i<PAROLE;i++)
cout<< strarray<<endl;


system("PAUSE");
return EXIT_SUCCESS;
}



//ordinamento con algoritmo Boubble sort
int ordinamento_alfabetico ( char matrice_da_ordinare[PAROLE][CARATTERI_PER_PAROLA])
{
char hold [CARATTERI_PER_PAROLA];
for(int x = 0; x < (PAROLE -1); x++)
{
for(int y = (x+1); y < PAROLE; y++)
{

if(strcmp(matrice_da_ordinare[x], matrice_da_ordinare[y]) > 0)
{
strcpy (hold, matrice_da_ordinare[x]);
strcpy (matrice_da_ordinare[x], matrice_da_ordinare [y]);
strcpy (matrice_da_ordinare[y], hold);
}
}
}
}
Ciao! Se non ho capito male l'aiuto che cerchi è in riferimento all'inserimento da input di una matrice di parole?
Allora per fare ciò ci sono 2 vie che ti consiglio:
1) Se vuoi mantenere l'utilizzo dei 'char' come tipo di variabile puoi usare la seguente sintassi

C++:
char matrix[5][10];
    
    cin.getline(matrix[0], 9);
    cin.getline(matrix[1], 9);
    cin.getline(matrix[2], 9);
    cin.getline(matrix[3], 9);
    cin.getline(matrix[4], 9);
    
    for(int i = 0 ; i < 5; i++)
        cout << matrix[i] << endl;

2)Altrimenti se utilizzi le string (e ti consiglio fortemente di iniziare a farlo se ancora non l'hai fatto) puoi usare la seguente sintassi


C++:
string matrix[5];
    
    cin >> matrix[0];
    cin >> matrix[1];
    cin >> matrix[2];
    cin >> matrix[3];
    cin >> matrix[4];
    
    for(int i = 0 ; i < 5; i++)
        cout << matrix[i] << endl;

Per ulteriori chiarimenti commenta altrimenti lascia un like :)
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Mini matrice Java 3
S elementi statistici - Matrice e Gestione Array PHP o Javascript Javascript 0
Raziel84 [Java] Combinazione elementi matrice Java 0
T [Visual Basic] Criptazione tramite matrice Visual Basic 0
T [PHP] matrice con somma diagonali PHP 2
StarFish [c++] matrice con ordine crescente C/C++ 0
S [C] Leggere i dati da un file e salvarli in una matrice Programmazione 1
K Problema matrice (e script in generale) Javascript 6
J [C++]allocazione dinamica matrice C/C++ 2
C Tempo e Matrice definita! Programmazione 2
S aiuto matrice PHP 3
F Caratteri invisibili XML 4
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
P Codifica caratteri speciali mysql php PHP 0
Z Caratteri speciali irriconoscibili PHP 1
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
A eliminare caratteri speciali mettendo uno spazio PHP 0
A eliminare caratteri diacritici con codice ascii PHP 4
MarcoGrazia Eliminare in automatico i caratteri spuri all'inizio e alla fine di una stringa Snippet PHP 0
K [javascript] Tecnica per rilevare celle contenenti caratteri ricevute in dinamico Javascript 1
M [PHP] Troncare caratteri PHP 1
A [PHP] caratteri speciali PHP 14
A [PHP] Modifica caratteri di una query Oracle SQL PHP 0
gandalf1959 problema con la codifica caratteri accentati e speciali tra php e mysql PHP 3
C Caratteri accentati php PHP 2
Z [Java] Caratteri distorti e spaziature errate nelle stampe di componenti swing Java 0
S [PHP] visualizzazioe caratteri strani PHP 13
F [Joomla] Caratteri speciali si vedono tutti sbagliati su Safari Joomla 2
F [Javascript] Verificare la presenza di caratteri speciali in una password Javascript 3
borgo italia [PHP] ricerca caratteri accentati PHP 4
trattorino [Javascript] FAR sparire campo dopo top caratteri Javascript 2
D [Javascript] aggiornare numero caratteri se campo già popolato Javascript 5
M [PHP] Impedire di digitare determinati caratteri nell’input (controllo in tempo reale) PHP 4
fabryx [PHP]RISOLTO: Parsing xml nodi con caratteri speciali PHP 1
giancadeejay [PHP] Controllo inserimento tot caratteri PHP 5
giancadeejay [PHP] Controllo su quantita' di caratteri inseriti, in colonna db PHP 5
Shyson [WordPress] Mettere un limite a lunghezza caratteri WordPress 11
B [MySQL] CONTROLLARE I PRIMI CARATTERI DI UN CAMPO VARCHAR MySQL 8
G [PHP] Sostituzione caratteri PHP 2
N [Javascript] Effettuare spaziatura tra caratteri Javascript 0
P verifica caratteri per email e password PHP 17
C Problemi con i caratteri HTML e CSS 0
M Caratteri HTML salvati nella tabella PHP 4
Shyson mysql int (11) quanti caratteri può ricevere? PHP 1
S stringhe con caratteri speciali PHP 3
M Stringhe con caratteri non codificati (es. �) PHP 1
MarcoGrazia [regex] validare un textbox con solo caratteri alfabetici. Javascript 6
F sql e record con caratteri speciali e spazi Classic ASP 1
A visualizzare caratteri speciali Database 1

Discussioni simili