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

    [C++] Errori in compilazione in funzione caricamento array

    //passaggio di array e di singoli elementi alle funzioni con parametri di ritorno


    #include <iostream>
    #include <iomanip>


    using namespace std;


    int carica_array(int[],int,int);


    int visualizza_elemento (int);


    int main()
    {
    int dim_array =5;
    int i;
    int array[dim_array];
    int numero;

    for (i=0;i<=dim_array;i++)
    cout<<"\n inserisci numero" << setw (3);
    cin >> numero;




    cout<< "elementi array prima della modifica\n";

    for (i=0;i<dim_array;i++)
    cout << setw (3)<< array[i];



    cout<<"\n\n elementi dell'array modificato\n";
    for (i=0;i<dim_array;i++)

    // array passato per riferimento

    carica_array (array,dim_array,numero);

    cout << setw (3)<< array[i];


    system("pause");
    return 0;
    }



    int carica_array(int a,int d, int n)
    {


    int j;

    for ( j=0; j<= d; j++)
    cout << "\n inserire numero" << setw(5);
    cin >> n;
    cout << "\n";
    a[j]= n ;


    return a[j];
    }

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    Direi che a parte il codice (che andrebbe postato tra gli appositi tag CODE) manca tutto il resto:

    - Un titolo alla discussione
    - Una descrizione del problema

    Che facciamo? Tiriamo ad indovinare?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Si hai ragione é partito pubblica senza che avessi finito.

    Si tratta del codice di caricamento di un array, ma compilando ho errori in :

    a[i]=n;
    return a[j ];

    Grazie per aver risposto!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    codice:
    for ( j=0; j<= d; j++)
    cout << "\n inserire numero" << setw(5);
    cin >> n;
    cout << "\n";
    a[j]= n ;

    Se non usi le parentesi graffe, l'unica istruzione all'interno del for (che verrà eseguita più volte) è la riga

    codice:
    cout << "\n inserire numero" << setw(5);

    Di conseguenza, la variabile j non la puoi usare oltre quella riga perchè va fuori scope.
    Io non ho guardato il resto del tuo codice, ma se devi far eseguire più di un'istruzione al ciclo for, allora devi racchiudere tutte le istruzioni all'interno di un blocco { }


    codice:
    for ( j=0; j<= d; j++) {   // <-- aperta graffa
       cout << "\n inserire numero" << setw(5);
       cin >> n;
       cout << "\n";
       a[j]= n ;
    }   // <-- chiusa graffa

    PS: ricordati sempre di dare il maggior numero di informazioni possibili... se hai degli errori in compilazione, riportali. Dire semplicemente "mi dà degli errori in compilazione" non aiuta gli utenti a capire il problema e, di conseguenza, non ti aiuta ad essere indirizzata verso la soluzione.


    Ciao.
    Ultima modifica di LeleFT; 31-08-2017 a 09:18
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Ciao,

    purtroppo non è la parentesi

    Errore in compilazione:

    [Error] invalid types 'int[int]' for array subscript sia per a[j]=n sia per return return a[j].

    Ciaooo

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    Infatti... la funzione carica_array() non riceve come parametro un array di interi, ma una variabile intera (un numero)... e questo lo hai chiamato "a"... poi stai cercando di usare "a" come se fosse un array... ma non è un array, è un numero.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Ok grazie .... sistemato

Tag per questa discussione

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.