Scrivere Funzione.

di Anonimizzato31893 il
17 risposte
Per la prima volta, sto risolvendo un esercizio partendo da una sola traccia, ma sto avendo difficolta' nel comprendere la stessa traccia seguente:
Allegati:
31893_c7dd843ebe7f040d25c1cb50a11397a6.jpg
31893_c7dd843ebe7f040d25c1cb50a11397a6.jpg

17 Risposte

  • L'ingresso sono i parametri della funzione, l'uscita il valore restituito. Nell'esempio viene confrontato "t" con "p", "a" con "o"...
  • Alexv ha scritto:


    L'ingresso sono i parametri della funzione, l'uscita il valore restituito. Nell'esempio viene confrontato "t" con "p", "a" con "o"...
    Ok, fa il confronto lettera per lettera in corrispondenza delle stesse posizioni!

    Sto pensando di usare le funzioni

    getch
    ungetch

    Cosa ne pensi?

    Ovviamente uso pe parole Torre e Parco.
  • Quelle sono per acquisire da tastiera. Le stringhe devi dargliele già complete.
  • Per complete intendi con scritte le parole Torre e Parco?
  • No, intendo che prima le acquisisci, poi le passi alla funzione. La funzione deve solo fare i confronti e creare la terza stringa.
  • Scusami ancora....
    Ma questo esercizio, e'un esercizio inierente a Problemi Di Ordinamento?
  • No, è inerente a confronti fra array e stringhe (che poi sono array di char).
  • Alexv ha scritto:


    No, è inerente a confronti fra array e stringhe (che poi sono array di char).
    Accipicchia, non sto trovando i riferimenti nel materiale che ho!

    Avresti cortesemente delle slide o esempi da vedere/studiare su queste modalità di esercizio?

    Te ne sarei veramente grato!
  • Non ne ho sotto mano.
    Dovrebbe trovarsi dove introduce gli array, mentre i confronti fra caratteri dove introduce le stringhe e i caratteri ASCII.
    Prova a farlo tu, è molto semplice. Come fai a confrontare elementi che occupano la stessa posizione in due array diversi? Inizia a fare tutto nel main, poi magari lo sposti in un'apposita funzione.
  • Ovvio che devo provare io,
    Adesso setaccio gli argomenti e provo a fare il programma!
    Appena lo finisco, posto quello che ho elaborato!
    Grazie
  • Intanto comincia a scrivere il nome della funzione e i suoi argomenti
  • Allora, considerando le lettere dell'alfabeto che a è più piccola di b, o di c ecc. , pongo le lettere con le seguenti disuguaglianze e non:

    t > p
    o > a
    r = r
    r > c
    e < o

     
    #include <stdio.h>
    
    sameletter(int v[], int dim);//prototipo di funzione
    
    int main() {
    
        int i, j, idx, dim, v;
    
    }
    sameletter(int v[], int dim);{
        for(i=0;i<dim-1;i++){
            idx=i;
            for(j=i+1;j<dim;j++){
                if(v [j]> v [idx])
                    idx=j;
            }
            return +;
        }
        else if(v[j]=v[i]){
            return -;
        }
        else if (v[j]=v[i]){
            return =;
        }
    
    }
     



    Il problema che a me è sembrato semplice scrivere quel codice, ma so che quando c'è inesperienza, la semplicità di pensiero, spesso porta ad Errori!

    Cosa ne dite del ragionamento che ho fatto?
  • Ci sono errori di sintassi e di ragionamento.

    Ma perchè non provi a compilare il tuo codice per vedere gli errori? Devi farlo!

    Per quanto riguarda il ragionamento, la traccia parla di 3 array, due che vengono confrontati e il terzo in cui metti il risultato. Ma io vedo un solo array!
  • Nell'altro post hai replicato ad una mia osservazione dicendo:

    MT09_full ha scritto:


    Io sono dell'idea che se non si conosce un alfabeto, non potrai mai utilizzare quelle capacita' logiche ad esse collegate!
    A questo punto gli evidenti problemi che stai incontrando secondo te sono dovuti all'alfabeto o alla logica? Nel primo caso non resta altro da fare che ritornare a studiare la sintassi del linguaggio, nel secondo caso invece la faccenda è un po' più complicata...

    In ogni caso, come detto da Oregon, qui ci sono errori sia di sintassi che di ragionamento.
Devi accedere o registrarti per scrivere nel forum
17 risposte