Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Array in C++

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2015
    Messaggi
    3

    Array in C++

    Ciao ragazzi ho il seguente problema:
    Scrivere un programma che legge un testo inserito da tastiera contenente al più 100 parole, e lo memorizza in un array line di caratteri di lunghezza massima MAX_STRING 300. Poi suddivide il testo in parole e memorizza ogni parola in una riga di un array bidimensionale. Le parole possono essere separate da uno o più spazi che non devono essere memorizzati ne' contati nella lunghezza di una parola.
    Ho completato il programma ma in output non ricevo niente, sapete dirmi qual'è il problema?
    Grazie in anticipo.

    codice:
    #include <stdlib.h>
    #include <stdio.h>
    #define MAX_STRING 300
    main ()
    {
        char line[MAX_STRING], ch, line_2D[MAX_STRING][MAX_STRING], space=' ';
        int i=0, r=0, c=0, j , k, x=0;
    printf("inserisci la frase da scomporre in parole ");
    do
    {
      ch=getchar();
      line[i]=ch;
      i++;
    }
    while ((ch=='\n') && (i>MAX_STRING));
    x=i;
    for(i=0;i<x;i++)
    {
       if(line[i]!=space)
          {
          line_2D[r][c]=line[i];
          c++;
          }
       else
          r++;
    }
    for(k=0;k<r;k++)
    for(j=0;j<c;j++)
        printf(" e':%c ", line_2D[k][j]);
    
    
    system ("pause");
    }
    Ultima modifica di LeleFT; 04-06-2015 a 13:32 Motivo: Aggiunti i tag CODE

  2. #2
    Ciao, secondo me è un approccio sbagliato, perchè vai a inserire un numero di elementi dell'array e poi provi a stamparli tutti, ti ricordo che quando crei un array all'interno ci sono valori a caso, magari potresti riempire l'array di '\n' che tanto non sono e fare due cicli che girano finchè non legge un \n Stasera con calma vedo di farlo

  3. #3
    Attenzione, non hai mai aggiunto i terminatori di stringa '\0' (errore grave), e non azzeri l'indice delle stringhe c anche questo è molto importante.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    E comunque la condizione del do{} while {} è sbagliata.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.