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

    [C ++] Stampa Numero elementi eliminati del Vettore

    Salve ragazzi nello svolgere questo esercizio ho riscontrato difficoltà per quanto riguarda la somma dei numeri eliminati (come richiesto dalla seguente traccia). Il programma così com'è funziona e svolge la sua corretta funzione, solo che nella stampa del numero da un valore sballato (anche perchè non ho inserito comandi per la medesima) 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.

    codice:
    #include <iostream>
    #include <stdlib.h>
    using namespace std;
    
    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 vettori eliminati e': "<<numero<<"\n";
         }

  2. #2

    Moderazione

    Il linguaggio di riferimento va inserito anche nel titolo come "tag", ora correggo io, in futuro ricordatene.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Corretto (il tag), grazie mille

  4. #4
    Ci soffermiamo sulla elimina per il momento. Mancano diverse cose e ci sono cose di troppo.
    Solo per instradarti:
    perché v[] è di tipo float se ti chiedono un vettore di interi?
    A cosa serve i?
    E, se serve a qualcosa, perché non viene inizializzato/modificato?
    Perché non usi mai v[] se devi eliminare alcuni dei suoi elementi?
    Non pensi che avere variabili locali ad una funzione con lo stesso nome della funzione è un modo per andare a caccia di guai?

    Ritenta sarai più fortunato.

    Ciao.
    http://clessonsonline.blogspot.com

  5. #5
    Genio se pensavo di essere sulla via giusta di certo non avrei posto la mia domanda al forum..

  6. #6

    Moderazione

    Originariamente inviato da mysteri88
    Genio se pensavo di essere sulla via giusta di certo non avrei posto la mia domanda al forum..
    Non c'è bisogno di prendertela... magari il tono del post non ti sarà sembrato particolarmente gentile, ma sono consigli utili; se vuoi capire cosa c'è che non va nel tuo codice devi ragionare sugli elementi che ti sono stati segnalati.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Okok grazie

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 © 2025 vBulletin Solutions, Inc. All rights reserved.