Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    [C] Un aiuto per compilare un programma

    sto cercando di fare un programma in C che risolvi il seguente problema:

    Scrivere una funzione che preso in input una stringa stampi 1 se la stringa č palindroma, altrimenti 0. Un stringa č palindroma (http://it.wikipedia.org/wiki/Palindromo)
    se leggendola da sinistra a destra o da destra a sinistra si legge la stessa cosa. Ad
    esempio la stinga ada č palindroma, aerea `e una stringa palindroma.

    Questo č il programma che ho realizzato io ma mi da errore ma non riesco a corregerlo:

    #include <stdio.h>
    #include <stdlib.h>
    #define N 255

    char funzione (int);
    int main()
    {
    int v[N];
    printf("inserisci una parola\n");
    scanf("%d", N);
    funzione (N);
    }

    char funzione (int v)
    {
    int i, j;
    for(i = 0; i < N - 1; i++){
    for(j = N - 1; j >= 0; j--){
    if (v[i] == v[j])
    printf("1");
    else
    printf("0");
    }}
    system("pause");
    }

  2. #2
    Ho provato a compilare con gcc -Wall (versione i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)
    e da i seguenti errori/warning, che dovrebbero spiegarsi da soli:

    codice:
    main.c: In function 'main':
    main.c:10: warning: format '%d' expects type 'int *', but argument 2 has type 'int'
    main.c:8: warning: unused variable 'v'
    main.c:12: warning: control reaches end of non-void function
    main.c: In function 'funzione':
    main.c:19: error: subscripted value is neither array nor pointer
    main.c:19: error: subscripted value is neither array nor pointer
    main.c:25: warning: control reaches end of non-void function
    In italiano significa:
    codice:
    main.c: Nella funzione 'main':
    main.c:10: attenzione: nella scanf '%d' vuole l'indirizzo di un intero, ma tu mi passi un intero.
    main.c:8: attenzione: all'inizio di main definisci la variabile locale v, ma non la utilizzi mai.
    main.c:12: attenzione: la funzione main dovrebbe restituire un intero, ma non restituisce nulla.
    main.c: Nella funzione 'funzione':
    main.c:19: errore: v non č nč un array nč un puntatore
    main.c:19: errore: v non č nč un array nč un puntatore
    main.c:25: attenzione: la funzione 'funzione' dovrebbe restituire un carattere, ma non restituisce nulla.

  3. #3
    Iol'ho compilato con dev c++ e mi da solamente l'errore alla riga 19 che non so come risolvere.

  4. #4
    io ti ho dato gli errori ed i warning del mio compilatore, il tuo che errore da?

  5. #5
    19 invalid types `int[int]' for array subscript

  6. #6
    Essenzialmente anche il tuo compilatore ti dice che stai cercando di utilizzare delle parentesi quadre dove non puoi.

    Che cos'č infatti 'v' nella funzione 'funzione'? E' un parametro di tipo intero!

  7. #7
    in poche parola io voglio dire che se l'elemento i del vettore v č uguale all'elemento j del vettore v allora scrivi 1.
    i e j sono numeri interi che ho dichiarato nell funzione funzione

  8. #8
    Originariamente inviato da francesco87
    in poche parola io voglio dire che se l'elemento i del vettore v č uguale all'elemento j del vettore v allora scrivi 1.
    i e j sono numeri interi che ho dichiarato nell funzione funzione
    Ma nella funzione 'funzione' v non č un vettore: č un parametro/argomento numero intero di tipo int della funzione 'funzione' (e dagli un altro nome alla funzione 'funzione'...).

  9. #9
    Quindi basta che gli do un'altro nome e lo vede come vettore?

  10. #10
    Originariamente inviato da francesco87
    Quindi basta che gli do un'altro nome e lo vede come vettore?
    No, ma l'errore che ti restituirā il compilatore ti sarā pių chiaro.

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.