Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 32
  1. #21
    SIIIIIIIIIIIIIIIIII!!!!!!!!!!!!!

    finalmente funziona

    ora vi posto il codice definitivo


    codice:
    # include <iostream>
    
    
    using namespace std;
    
      int main () 
      {
          
          char ProvArray[4][100]= {{"ciao"},{"come"},{"va"},{"mariolin"}};     // [numeroparole ][langhezza parole]
          
    	  int i , y;
    		for (i=0; i<10; i++) 
             { 
                    for  (y=0; y<10; y++)
    		
                       cout << ProvArray[i][y];
              }
    		 return 0;
       }
    ora mi stampa tutti i valori ...

    Solo una curiosita alla fine delle 4 parole mi stampa anche dei simboli senza senso ma penso sia dovuto al fatto che il ciclo for arriva fino a 10 e perciò mi stampa pure le stringhe che non esistono...

    provo a egolare i cicli...

    Grazie a tutti voi per la pazienza che avete dimostrato....
    3/6/2003 è morto l'angelo della mia vita..
    www.markwebinformatica.net
    My BLOG

  2. #22
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    bene ,non prenderla a male,ma come un mio amico programmatore mi ha insegnato,l'essere "pignolo" è tutto nella programmazione

    char Array[4][10];

    Array[0][4]="ciao";
    Array[1][4] ="come";
    Array[2][2] ="va";
    Array[3][8] ="mariolin";


    se lasci il codice così non potrà mai andare,perchè (per esempio ciao) è di 4 caratteri sì,però c'è l'operatore di fine stringa nascosto (ovvero \0) per cui in realtà sono 5:


    Array[0][5]="ciao";//questo è corretto

    Felice di esserti stato d'aiuto

  3. #23
    grazie ancora ora ho corretto sia il ciclo che le stringhe

    ora il programmino mi stampa le parole una sotto l'aktra e alla fine mi dice premi un tasto per continuare...

    Per completezza lo posto cosi se questa discussione servirà a qualcun'altro almeno ha il codice finito..

    codice:
    # include <iostream>
    
    
    using namespace std;
    
      int main () 
      {
          
          char ProvArray[4][100]= {{" ciao "},{"\n come "},{"\n va "},{"\n mariolin "}};     // [numeroparole ][langhezza parole]
          
    	  int i , y;
    		for (i=0; i<4; i++) 
             { 
                    for  (y=0; y<10; y++)// questo lo lascio a 10 tanto non mi seve che arrivi a 100
    		
                       cout << ProvArray[i][y];
              }
                   cout << endl;
                system("PAUSE");
    		 return 0;
       }
    3/6/2003 è morto l'angelo della mia vita..
    www.markwebinformatica.net
    My BLOG

  4. #24
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    codice:
    # include <iostream>
    
    
    using namespace std;
    
      int main () 
      {
          
          char ProvArray[4][100]= {{" ciao "},{"\n come "},{"\n va "},{"\n mariolin "}};     // [numeroparole ][langhezza parole]
          
    	  int i , y;
    		for (i=0; i<4; i++) 
                           	
                       cout << ProvArray[i]; 
             
                   cout << endl;
                system("PAUSE");
    		 return 0;
       }
    Non ti serve il secondo indice [y] nel cout (esso prende come argomento anche puntatori a stringa ed è proprio questo che si trova in ogni ProvArray[i]).

  5. #25
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    6

    in argomento stringhe e ARRAY...

    Ciao a tutti!
    ho appena letto i vostri post ed avrei un problemino molto simile...

    Ve lo illustro:

    Creare una array di Stringhe e inizializzarlo leggendo le stringhe dallo standard input.

    comincerei con una dichiarazione

    codice:
    char *InputFile[22] /*la variabile che mi serve puo' essere lunga al massimo 22 stringhe*/
    a questo punto so di aver dichiarato un array di puntatori a stringhe... ma questi puntatori non puntano a niente di preciso...giusto? Come li inizializzo?

    E poi vorrei leggere una sequenza di parole dall'input, ad esempio:

    bus flower football

    (separate da uno spazio e terminate da /n)

    e mettere la prima parola in una stringa puntata da InputFile[0], la seconda in InputFile[1], la terza in Inputfile[2] e poi... se non ci sono altre parole (cioe' se da tastiera digito /n) far puntare a 'niente' i successivi elementi dell'array.

    Le idee su cio' che devo fare ce le ho chiare... sono le skills che mi mancano!

    gradirei molto una mano!!

    Grazie

  6. #26
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    1 - allocati un buffer (array di caratteri) in grado di contenere una singola stringa letta.


    Quindi per ogni stringa da leggere:

    2 - leggi la prossima stringa i-esima dentro l'array buffer

    3 - alloca la memoria per la stringa iesima:

    4 - InputFile[i] = (char *)malloc((strlen(buffer) + 1) * sizeof(char))

    5 - copia il stringa presente in buffer in InputFile[i] con la funzione strcpy

    i passi da 2 a 5 sono da ripetere per ogni i da 0 a 21.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  7. #27
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    6
    ma se leggo l'input cosi':

    codice:
    char *InputFile[22];
    char buffer[13]; //le parole sono al max di 12 char
    
    scanf("%s", buffer);//per leggere le stringhe...
    Non mette nel buffer tutte le parole che scrivo da tastiera?

    E per il ciclo su i:
    in realta' non so a priori quante di queste parole scrivero'! Al max sono 22, ma ne potrei scrivere anche 1 (minimo!)...

    esiste un modo per fare:
    inizializzo una var per contare

    int i=0;

    while (non leggi il carattere '\n')
    {
    leggi la prossima parola da std-input e memorizzala in buffer

    InputFile[i] = (char *)malloc((strlen(buffer) + 1)*sizeof (char))

    strcpy(Inputfile[i],buffer);
    i=i+1
    }

    e se ci fosse un modo per fare cosi'... gli elementi di InputFile[22] che non ho inizializzato punteranno a qualcosa che non so? Come faccio? Posso metterle tutte a '0'?

    Grazie per la pazienza!

    (Non so se ho scritto cose sensate... spero si capisca!)

  8. #28
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    6


    forse ci sono...

    codice:
    char buffer[15];
    	char *InputFile[22];
        
    	
    	printf("type the list of the videos you want to encode-decode (separated by a space character and ended by 'return'"); //instructions
    	int k=0;
    	int h=0;
    	char c; //to read the string char by char
    		
    	do {
    	    do {
    	         c= getchar();//getchar() Returns the next character from the standard input
    		 buffer[h++]=c;
    
    	     } while ((c!=' ')&(c!=13));
                 buffer[--h]=0;
    	     InputFile[k]=(char*)malloc(h*sizeof(char));
                 strcpy(InputFile[k++],buffer);
    	} while (c!=13);
     	if (k<22)
    	   do { InputFile[k++]=0;} while (k<22);
            k=0;
            do {  free(InputFile[k++]);//per deallocare la memoria
             } while (k<22);
    l'ho compilato e ...miracolo! Mi da' 0 error e 0 warnings...
    ...ma ho una paura a farlo girare!!!
    accetto consigli per migliorare il tutto!!!
    Grazie!

    p.s.: ovviamente non e' (tutta) farina del mio sacco!!!

  9. #29
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    6
    Ho scoperto che c'e' un modo molto piu' semplice per fare quello che volevo...

    codice:
    void main(int argc, char **argv)
    in questo modo mi ritrovo gia' con un vettore di stringhe... uff! Tutta fatica sprecata!!! Vabbe'... pazienza! Si ricomincia!!

    Grazie.

  10. #30
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    e che ci devi fare? argv, se l'hanno inserito come parametro del main() forse ha già un suo compito specifico...
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.