Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C++] Problema con le stringhe

    Stavo facendo questo esercizio in preparazione all'esame di domani, solo che non esce..Aiutatemi

    Esercizio 4.
    Siano assegnati da tastiera una stringa S e due caratteri c1 e c2. Si progetti una funzione SOSTITUISCI che riceve in ingresso S, c1 e c2 e che sostituisce tutte le occorrenze del carattere c1 con il carattere c2. Tale funzione deve anche restituire come valore di ritorno il numero di sostituzioni effettuate.
    Esempio 1:
    INPUT: S=astanti; c1=a; c2=i
    OUTPUT: S=Istinti; num=2
    Esempio 2:
    INPUT: S=astanti; c1=p; c2=1
    OUTPUT: S=astanti; num=0

    Di seguito riporto il codice provato da me:

    codice:
    #include <iostream>
    #include <cstdlib>
    #include <string>
    #define dim 1000
    
    using namespace std;
    
    int main () 
    {
    char S[dim];
    char c1, c2;
    int i;
    cout<<"Inserire la parola:"<<endl;
    cin>>S;
    cout<<S<<endl;
    
    cout<<"Inserire c1: ";
    cin>>c1;
    cout<<endl;
    cout<<"Inserire c2: ";
    cin>>c2;
    cout<<endl;
    for (i=0; i<strlen(S); i++) {
        if (S[i]==c1)
           S[i]==c2;
        }
    cout<<S;
    
    system("PAUSE");
    return 0;
    }
    Provando il primo esempio invece di sostituirmi solo le "a" mi sostituisce tutta la stringa con le i...
    Aiutatemi per favore..

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381

    Re: [C++] Problema con le stringhe

    A occhio direi che è quello il problema
    codice:
    #include <iostream>
    #include <cstdlib>
    #include <string>
    #define dim 1000
    
    using namespace std;
    
    int main () 
    {
    char S[dim];
    char c1, c2;
    int i;
    cout<<"Inserire la parola:"<<endl;
    cin>>S;
    cout<<S<<endl;
    
    cout<<"Inserire c1: ";
    cin>>c1;
    cout<<endl;
    cout<<"Inserire c2: ";
    cin>>c2;
    cout<<endl;
    for (i=0; i<strlen(S); i++) {
        if (S[i]==c1)
           S[i]==c2;  <-- S[i]=c2 
        }
    cout<<S;
    
    system("PAUSE");
    return 0;
    }
    [/QUOTE]

  3. #3
    Funziona! Grazie mille...
    Faccio ancora confusione tra "==" e "="..sto messo maluccio
    Grazie ancora!

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.