|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: May 2003
Messaggi: 271
|
problema con allocazione dinamica di una matrice
devo allocare una matrice in modo dinamico. non so a priori di quante righe e colonne la matrice sarà composta. la matrice deve contenere caratteri
Lo scopo della matrice è questo: devo acquisire una stringa; finchè non ci sono spazi devo memorizzare quello che acquisisco nella stessa riga della matrice. quando do uno spazio devo incrementare l'indice della riga. in pratica, parola della stringa che acquisico deve essere memorizzata in una riga diversa. l'acquisizione del testo si interrompe con la pressione del tasto # Questo è quello che ho scritto: .....ometto le librerie...... char *parola; char **stringa; char scelta; int inst,inpa; void inserimento (int, int, char**, char*); main(){ stringa=(char**)malloc(sizeof(char*)); //parola=(char*)malloc(sizeof(char)); printf ("Premi '1' per inserire la parola e la stringa da confrontare"); scelta=getch(); switch (scelta){ case '1': {printf ("hai scelto di inserire la parola e la stringa da confrontare...inserisci ora"); inserimento (inst, inpa, stringa, parola); //free(stringa); } } } void inserimento (int ist, int ipa, char **fra,char *par){ printf ("sono nella funzione"); //per vedere se almeno entra nella funzione int ics,irs,irp,icp; char inp; irs=0; ics=0; while (inp!='#'){ inp=getch(); printf ("%c",inp); fra[irs][ics]=inp; fra=(char**)realloc(fra,sizeof(char*)); if (inp==32) {irs++;} ics++; } } dopo aver digitato un carattere mi appare una finestra di errore di windows. se non uso la realloc(), capita che delle volte mi si blocca, altre volte scrivo tutto il testo che voglio finchè non premo #, che è il carattere che ferma l'inserimento. il programma non è ancora terminato... però come potete vedere ho problemi con l'allocazione dinamica...
__________________
Sono serissimo .. in coda. (cit. Nabrez) |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: May 2003
Messaggi: 271
|
una mano ragà....
__________________
Sono serissimo .. in coda. (cit. Nabrez) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:21.