Array e stringhe

di il
7 risposte

Array e stringhe

Ciao a tutti! Devo scrivere un programma in C++ che consideri due stringhe di testo e conti quante volte i caratteri della seconda sono presenti nella prima. Ho provato a usare gli array e a scrivere questo


#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;

int main () {
    int i , j , repeat;
    char p[10] , q[10];
    cout<<"Inserire il primo testo: ";
    cin>>p;
    cout<<"Inserire il secondo testo: ";
    cin>>q;
    for (i = 0 ; i < 10 ; ++i) {
        for (j = 0 ; j < 10 ; ++j) {
            while (p[i] == q[j]) {
                ++repeat;
            }
        }
    }
    cout<<repeat;
}
ma non funziona (dà dei risultati assurdi)...sapete aiutarmi? Grazie a tutti!

7 Risposte

  • Re: Array e stringhe

    minomic ha scritto:


    quante volte i caratteri della seconda sono presenti nella prima.
    cosa significa?
    repeat da che valore parte visto che non è inizializzato?
  • Re: Array e stringhe

    Significa che se la prima stringa è "ciao" e la seconda è "carlo" mi deve dire che le ripetizioni sono 3 perchè ci sono in comune la "c", la "a" e la "o"... cmq repeat non è inizializzato perchè parte da 0.
  • Re: Array e stringhe

    Chi lo dice che parte da zero? tu? x il compilatore non è così. Può partire da qualsiasi valore garbage perche tu non li hai messo il valore iniziale.
  • Re: Array e stringhe

    
    #include <iostream>
    #include <stdlib.h>
    #include <string>
    using namespace std;
    
    int main () {
        int i , j , repeat = 0;
        char p[10] , q[10];
        cout<<"Inserire il primo testo: ";
        cin>>p;
        cout<<"Inserire il secondo testo: ";
        cin>>q;
    	int lenp = strlen(p);
    	int lenq = strlen(q);
        for (i = 0 ; i < lenp ; ++i) 
    	{
            for (j = 0 ; j < lenq ; ++j) 
    		{
                if (p[i] == q[j])
    			{
                    ++repeat;
                }
            }
        }
        cout<<repeat;
    	return 0;
    }
    
  • Re: Array e stringhe

    Ho provato ma mi dice che la funzione strlen non è stata dichiarata. Tra parentesi...cos'è strlen?
  • Re: Array e stringhe

    Come fai a sapere la lunghezza della stringa?
    http://www.cplusplus.com/reference/clibrary/cstring/strlen/
  • Re: Array e stringhe

    Ho capito adesso...il mio codice funzionava solo se usavo tutti e 10 i caratteri dell'array!
    Grazie mille!!!
Devi accedere o registrarti per scrivere nel forum
7 risposte