Aiuto su somma vettori eliminati

di il
1 risposte

Aiuto su somma vettori eliminati

Salve ragazzi nello svolgere questo esercizio ho incontrato difficoltà nel calcolare i numeri di elementi eliminati dal vettore. Il programma così com'è funziona solo che la funzione numero da un valore sballato perchè non è stata inserita(nel void elimina), potreste aiutarmi? Grazie in anticipo.
/*
Siano assegnati in ingresso, da tastiera, un vettore di interi V, il suo riempimento n ed un intero k.
Si scriva un programma che elimini dal vettore V tutti gli elementi il cui valore è maggiore di k
e calcoli il numero num di elementi eliminati. Si stampino quindi il vettore V modificato ed il valore num.
Il programma deve essere articolato in funzioni (ad es.: input, output, elimina).
Suggerimento: la funzione elimina riceve in ingresso n, V e k e restituisce come valore di ritorno num.
*/

#include <iostream>
#include <stdlib.h>
using namespace std;
/*devo eliminare valori del vettore > k e calcolare il num di elementi eliminati*/

void input (float v[], int &n, int &k);
void elimina (float v[], int n, int numero, int k);
void output (float v[], int numero);

int main (){
    float v[100];
    int n,numero,k;
    
    input (v,n,k);
    elimina (v,n,numero,k);
    output (v, numero);
    
    system("Pause");
    return 0;
}

void input (float v[], int &n, int &k){
     cout<<"Inserisci la cardinalita del vettore V:\n";
     cin>>n;
     cout<<"Riempi il vettore:\n";
     for (int i=0; i<n; i++){
         cin>>v[i];
         }
     cout<<"Inserisci il valore di K intero:\n";
     cin>>k;
}

void elimina (float v[], int n, int numero, int k){
     int i;
     bool elimina=false;
     elimina=0;
     while(!elimina){                         
                     if(i>k){
                                   elimina=true;
                                   }
                     else{
                          elimina++;
}}}
                                         
void output (float v[], int numero){
     cout<<"Il vettore modificato e': "<<elimina<<"\n";
     cout<<"Il numero di elementi eliminati e': "<<numero<<"\n";
     }

1 Risposte

  • Re: Aiuto su somma vettori eliminati

    Allora
    comunque la tua funzione elimina non segue le direttive assegnate in quanto :
    la funzione elimina riceve in ingresso n, V e k e restituisce come valore di ritorno num
    sta scritto nei suggerimenti.
    di solito quando si danno i suggerimenti e perchè qualcuno, in questo caso il prof., vuole che tu li segua !
    tu hai fatto una funzione void quando dovresti fare una int.
    ti consiglio le seguenti modifiche da apportare:
    1) passa il vettore alle funzioni usando il puntatore.
    2) nella funzione elimina usa uno 0 per far capire che l'elemento e stato eliminato.
    3) nella funzione elimina conta gli elementi che cancelli e poi ti fai ritornare il numero degli elementi cancellati.
    4)quando devi stampare basta che non fai stampare gli elementi del vettore che hanno lo zero. il numero degli elementi se segui il punto 3 c'è lo hai già.
    se invece non lo vuoi seguire basta che conti tutti gli elementi che hanno lo zero e poi alla fine stampi il risultato. e l'esercizio e risolto!
    buona fortuna
Devi accedere o registrarti per scrivere nel forum
1 risposte