C++ come faccio a vedere cosa sta puntando il puntatore?

di il
7 risposte

C++ come faccio a vedere cosa sta puntando il puntatore?

Ciao a tutti ragazzi
sono nuovo in questo forum e ho necessità di avvicinarmi al c++ quindi probabilmente mi avrete tra i piedi molto spesso
come da titolo della domanda vorrei sapere come faccio a vedere cosa sta puntando il puntatore.
vi spiego la mia esigenza
io devo creare un programma con due array di caratteri,in uno vado ad inserire una lista di parole e l'altro contiene una frase.
il programma dovrà prendere le lettere di una parola (una ad una) e sostituirla con un asterisco se quella lettera è presente all'interno della frase...
quindi questo indica che devo creare due puntatori : il primo deve fermarsi alla prima lettera della parola,(esempio ciao) e scorrere una ad una le lettere che compongono la frase (esempio: il libro è sl tavolo)...qui c'è un controllo true/false, quindi una funzione booleana...
se è vera sostituisce,se è falsa va avanti.
spero di aver esposto bene il problema

7 Risposte

  • Re: C++ come faccio a vedere cosa sta puntando il puntatore?

    Ciao, se ho capito bene il problema non ti serve un puntatore. Basta qualche ciclo for! Tieni presente che per accedere al carattere in posizione i di una stringa puoi semplicemente fare
    stringa[i]
    Questo significa che puoi leggere un carattere con
    char carattere = stringa[i];
    oppure scrivere un carattere con
    stringa[i] = 'a';
  • Re: C++ come faccio a vedere cosa sta puntando il puntatore?

    Quindi se ho capito bene mi sto complicando la vita!
    io avevo intenzione di fare il controllo fin quando il puntatore non arriva a \0
    comunque adesso riformulo il programma e vediamo se lo riesco a far funzionare
    grazie 1000 minomic
  • Re: C++ come faccio a vedere cosa sta puntando il puntatore?

    Ok, comunque forse è meglio se provi a spiegare bene il problema. Magari postando anche un esempio, cioè cosa fornisci come input e cosa ti aspetti come output.
  • Re: C++ come faccio a vedere cosa sta puntando il puntatore?

    Ti mando direttamente la traccia del compito
    Esercizio 1. Si descrive di seguito un diffuso gioco enigmistico. Si parte da una frase, e si riceve una lista di parole. Per ogni parola P appartenente a questa lista, si devono cancellare dalla frase iniziale le lettere che compongono P, seguendo l’ordine in cui queste compaiono nella frase. Quando le lettere di tutte le parole saranno state cancellate, le lettere rimanenti nella frase, prese nell’ordine, formeranno una nuova parola. Individuare questa parola è lo scopo del gioco.
    ESEMPIO: si supponga che la frase iniziale sia “importante ridurre il debito”, e che la lista di parole sia “dame, rudi, tinte, birre, il”. Cancellando le lettere della parola “dame” la frase iniziale diventerà: “iportnt riurre il debito”; la cancellazione delle lettere che compongono la parola “rudi” avrà come risultato: “potnt rirre il ebito”. Quando tutte le parole saranno state considerate, la frase iniziale risulterà essere così modificata “po r to”. Le lettere rimanenti, prese nell’ordine in cui compaiono, da sinistra verso destra, costituiscono la parola “porto”.

    Si scriva un programma C++, OPPORTUNAMENTE MODULARIZZATO IN FUNZIONI, che, ricevuta una stringa rappresentante la frase iniziale, ed un elenco di parole (che non saranno mai più di 10), costruisca una nuova stringa e la stampi in output, in accordo alla descrizione presentata sopra.
  • Re: C++ come faccio a vedere cosa sta puntando il puntatore?

    Ok, ho provato ed effettivamente bastano un paio di cicli for annidati. Prova e facci sapere!
  • Re: C++ come faccio a vedere cosa sta puntando il puntatore?

    Ma le stringhe degli oggetti c++ non terminano con 0, almeno che non si estragga la stringa col metodo string::c_str() ma bisogna stare attenti perché ritorna un area di memoria temporanea.

    O forse mi sbaglio, non conosco il c++
  • Re: C++ come faccio a vedere cosa sta puntando il puntatore?

    Io per il codice che ho provato ho utilizzato array di char, quasi come se fosse C. Se invece si possono utlizzare le stringhe allora non c'è alcun bisogno di considerare il terminatore, ecc. Per ottenere la lunghezza di una stringa basta utilizzare i metodi length o size.
Devi accedere o registrarti per scrivere nel forum
7 risposte