Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - copiare una parte di stringa
Forum - C/C++ - copiare una parte di stringa

Avatar
cicapparappa (Normal User)
Newbie


Messaggi: 5
Iscritto: 25/09/2008

Segnala al moderatore
Postato alle 18:03
Venerdì, 26/09/2008
Ciao a tutti, il mio problema è che ho un problema  con la copia di una stringa... il mio problema  è scrivere un programma che dato in input una parola (ad esempio casa), mi stampi tutte le possibili parole che si ottengono dalla stringa 'casa' levando una sola lettera...I qst caso le parole dovrebbero essere 'asa','csa','caa',cas'......grazie mille in anticipo

PM Quote
Avatar
eddiewrc (Member)
Expert


Messaggi: 560
Iscritto: 30/04/2006

Segnala al moderatore
Postato alle 22:06
Venerdì, 26/09/2008
non è difficilissimo...
int main(void)
{
  char parola[MAX_LENGHT];
int i, j;

// input della parola e la salvo nel vettore "parola"
for (j = 0; parola[j] != '\0'; j++)
{
  printf("\n");
   for (i = 0; parola[ i] != '\0'; i++ )
   {
      if (i != j)
        printf("%c",parola[ i]);
   }
}
}

nn l'ho controllato ma penso che funzioni...
questo assume che ogni parola nell'array omonimo finisca con il carattere di terminazione '\0', ma anche scriverlo usando una funzione lunghezza per l'array è valida come soluzione:
for (i = 0; i < lunghezza(parola); i++)
...

se ci sono errori clamorosi chiedo venia

Ultima modifica effettuata da eddiewrc il 26/09/2008 alle 22:08
PM Quote
Avatar
cicapparappa (Normal User)
Newbie


Messaggi: 5
Iscritto: 25/09/2008

Segnala al moderatore
Postato alle 14:07
Sabato, 27/09/2008
Mi dispiace ma quello che mi hai scritto on ha senso.
ho anche provato a eseguirlo ma non funziona. quando lo faccio partire mi escono solo alcune scritte strane.

PM Quote
Avatar
Bond93 (Ex-Member)
Pro


Messaggi: 135
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 19:36
Sabato, 27/09/2008
Si ma hai messo una istuzione k prende in input una stringa e la salva nella variabile parola???
Se no è chiaro che segmenta...
PS: il codice l'ho provato e va alla perfezione...

Ultima modifica effettuata da Bond93 il 27/09/2008 alle 19:39
PM Quote
Avatar
eddiewrc (Member)
Expert


Messaggi: 560
Iscritto: 30/04/2006

Segnala al moderatore
Postato alle 21:07
Sabato, 27/09/2008
mi sembrava di non essere rincretinito...


PM Quote
Avatar
lorelapo (Ex-Member)
Expert


Messaggi: 355
Iscritto: 28/02/2007

Segnala al moderatore
Postato alle 11:38
Domenica, 28/09/2008
sì ma quando uno arriva a postare qua credo che dovrebbe essere ovvio che un computer programmato non è un deus ex machina, se non gli dai una parola a cui applicarlo non può fare niente.

PM Quote
Avatar
cicapparappa (Normal User)
Newbie


Messaggi: 5
Iscritto: 25/09/2008

Segnala al moderatore
Postato alle 13:21
Mercoledì, 01/10/2008
Ho riprovato il programma...Prima avevo sbagliato una piccola cosa.. ora funziona...


GRAZIE MILLE A TUTTI

PM Quote
Avatar
cicapparappa (Normal User)
Newbie


Messaggi: 5
Iscritto: 25/09/2008

Segnala al moderatore
Postato alle 16:29
Mercoledì, 01/10/2008
UN ULTIMA COSA..dovevo fare un programma che data in input una parola doveva controllare se tale parola era presente in un file dizionario...ho provato a farlo ma non mi funziona..forse sarà l'inesperienza.ora lo scrivo.....

#include <stdio.h>            
#include <stdlib.h>
#include<ctype.h>
#include<string.h>
                                                
int main()
{
    char linea [500], parola[20];
    int i;  
    char confronto[20];
    int j=0;
    printf("Inserisci la parola da cercare\n");
    scanf("%s", confronto);
    FILE *stream=fopen("zingarelli2005.txt", "r");
    while(fgets(linea,500,stream)!=NULL){
       for (i=0; linea != ' '; i++)
           parola = linea ;{
           j = 0;
           if (strcmp(confronto, parola)== 0)
              printf("La parola è stata trovata\n");
           else
              j++ ;
              }
    }
    if (j != 0)
       printf("La parola non è stata trovata\n");  
    fclose(stream);
    system("PAUSE");
    return 0;
}


in allegato vi porto il file dizionario.... quale è il problema???? GRAZIE


cicapparappa ha allegato un file: zingarelli2005.zip (0 bytes)
Clicca qui per scaricare il file
PM Quote
Avatar
cicapparappa (Normal User)
Newbie


Messaggi: 5
Iscritto: 25/09/2008

Segnala al moderatore
Postato alle 16:29
Mercoledì, 01/10/2008
UN ULTIMA COSA..dovevo fare un programma che data in input una parola doveva controllare se tale parola era presente in un file dizionario...ho provato a farlo ma non mi funziona..forse sarà l'inesperienza.ora lo scrivo.....

#include <stdio.h>            
#include <stdlib.h>
#include<ctype.h>
#include<string.h>
                                                
int main()
{
    char linea [500], parola[20];
    int i;  
    char confronto[20];
    int j=0;
    printf("Inserisci la parola da cercare\n");
    scanf("%s", confronto);
    FILE *stream=fopen("zingarelli2005.txt", "r");
    while(fgets(linea,500,stream)!=NULL){
       for (i=0; linea != ' '; i++)
           parola = linea ;{
           j = 0;
           if (strcmp(confronto, parola)== 0)
              printf("La parola è stata trovata\n");
           else
              j++ ;
              }
    }
    if (j != 0)
       printf("La parola non è stata trovata\n");  
    fclose(stream);
    system("PAUSE");
    return 0;
}


in allegato vi porto il file dizionario.... quale è il problema???? GRAZIE


cicapparappa ha allegato un file: zingarelli2005.zip (1434955 bytes)
Clicca qui per scaricare il file
PM Quote