Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    2

    Aiuto!!!

    Ho un problema con un programma in c++.
    Premetto che sono alle primissime armi e mi scuso se i miei errori risulteranno banali,ma con poco tempo a disposizione e un libro che non è dei migliori mi trovo un pò in difficoltà.

    Questo è il testo del mio esercizio:
    Scrivere una funzione C++ che, dati due array di
    interi positivi a e b, restituisce l’array c che si ottiene eliminando da a i valori
    che sono divisibili per almeno un elemento di b.
    Esempio: a={2,45,37,21,6,34,35}, e b={2,3}. Il metodo restituisce c={37,35}
    (2 e’ divisibile per 2, 45 e’ divisibile per 3, 21 e’ divisibile per 3, 6 e’ divisibile
    sia per 2 che per 3, 34 e’ divisibile per 2).


    e questo è il programma che ho scritto:


    #include <iostream>
    using namespace std;

    int funzione(int a[],int b[],int,int,int);

    int main()
    {
    int a[7]={2,45,37,21,6,34,35};
    int b[2]={2,3};

    int da,db,k;
    funzione(a,b,da,db,k);
    cout<<"L'array ottenuto contiene i seguenti elementi:" << k << "\n";

    system("pause");
    return 0;
    }


    int funzione(int a[],int b[],int da,int db,int k)
    {
    int i,j;

    for(i=0;i<da;i++)
    {
    for(j=0;j<db;j++)
    {
    if(a[i]%b[j]!=0)
    a[i]=k;

    }

    }

    return k;
    }


    Se mi potete dare una mano ve ne sarò grato.

  2. #2
    prima di tutto dovresti cambiare titolo ed indicarne uno più significativo.
    secondo dovresti usare la STL del c++, e quindi la classe vector invece che i vettori in stile C.
    Infine dovresti precisare dove trovi l'intoppo in modo che ti si possa aiutare
    ciao
    sergio

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    2
    Non mi da errori solo che invece di restituirmi i valori corretti,ovvero 37 e 35 mi restituisce qualcosa del tipo 2000816..sicuramente sbaglio qualcosa all'interno della funzione..

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Scusa ... ma tu passi le variabili

    da,db,k

    alla tua funzione senza assegnare loro alcun valore ...


    P.S. Modifica il titolo come da regolamento ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    da e db dovrebbe essere le dimensioni dell'array a e b, che le inizializzi così

    codice:
      da = sizeof(a) / sizeof(a[0]);
      db = sizeof(b) / sizeof(a[b]);
    ma k cosa sarebbe ??
    ciao
    sergio

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.