Oppure

Loading
08/10/08 15:44
totipianurese
Ciao raga, qualkuno mi saprebbe dire la sintassi nel costruire una array di puntatori contenente stringhe???
aaa
08/10/08 15:56
Overflow
intendi un array di char per formare una stringa, o vuoi un array di stringhe, quindi una matrice di char?

//copia ciao mondo in un array di char
char* s; 
s = new char[strlen("ciao mondo")];
strcpy(s,"ciao mondo");


mentre per creare un array di stringhe, quindi una matrice di char devi utilizzare un puntatore a puntatore:
    char ** s;
    int c = strlen("ciao mondo");
    s = new char*[c];
    for (int i=0;i<c;i++)
    {
        s[i] = new char[c];
        strcpy(&s[i][0],"ciao mondo");
        cout << &s[i][0] << endl;
    }


con il secondo esempio ottieni un array di stringhe dinamicamente.
Ultima modifica effettuata da Overflow 08/10/08 15:58
aaa
08/10/08 16:10
totipianurese
....:-| non so. Cmq a me servirebbe un array di stringhe. Dovrei fare un programma: inserendo un numero (in cifre), converta tale numero in lettere. Il codice gia c'è l'ho xchè lo svolto prima in Pascal, e adesso lo dovrei convertire. Io lì usavo un vettore di stringhe. Cosa mi consigli di usare nel c++?
aaa
08/10/08 16:19
Overflow
ok... avevo capito male il tuo quesito. Puoi utilizzare l'oggetto string:

#include <iostream>
#include <string.h>

using namespace std;

int main()
{
    string a[5];
    a[0]="ciao mondo1";
    a[1]="ciao mondo2";
    a[2]="ciao mondo3";
    a[3]="ciao mondo4";
    a[4]="ciao mondo5";
    for(int i=0;i<5;i++)
        cout << a[i] << endl;
    return 0;
}

Ultima modifica effettuata da Overflow 08/10/08 16:21
aaa
08/10/08 16:37
totipianurese
Ok capito. cmq portrei creare anche altri tipi di array stringhe. Tipo : numeri, decine.??
Non sono molto pratico in c++.
aaa
08/10/08 16:40
Overflow
Postato originariamente da totipianurese:

Ok capito. cmq portrei creare anche altri tipi di array stringhe. Tipo : numeri, decine.??
Non sono molto pratico in c++.


non ho capito cosa intendi? un array di stringhe non è "uguale" ad un array di numeri (int[] o double[] intendo). Sono diversi.
aaa
08/10/08 16:43
totipianurese
Io intendevo creare due array, uno contentente :
uno, due,tre ecc.
e l'altro contentente : dieci, venti ecc.
avrei pensato di fare così, ma mi da errore
#include <iostream> 
#include <string.h> 

using namespace std; 

int main() 
{ 
    string a[5]; 
    a[1]="uno"; 
    a[2]="due"; 
    a[3]="tre"; 
    a[4]="quattro"; 
    a[5]="cinque"; 
    for(int i=1;i<6;i++)
    { 
        cout << a[i] << endl; 
    }
    
    string b[3];
    b[1]="dieci"; 
    b[2]="venti"; 
    b[3]="trenta"; 
    for(int j=1;j<4;j++)
    { 
        cout << b[j] << endl; 
    }        
    getchar();
}
aaa
08/10/08 16:50
totipianurese
???
aaa