Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: Funzioni in C++ (void)

  1. #1

    Funzioni in C++ (void)

    Ciao a tutti,
    avrei una domanda riguardo le funzioni in C++.

    Dunque la loro forza è che possono essere condivise una volta scritte, siccome sono a se stanti e permettono così di poterle riutilizzare semplicemente richiamandole.

    Mo volevo capire se cerco in rete qualche algoritmo di ordinamento selection sort o bubble sort per un vettore quelle che uso non funzionano, e se è possibile reperire l'ordinamento di una matrice ed il calcolo dei punti di sella a livello di linguaggio.

    ringrazio tutti in anticipo

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Non ho capito il tuo problema, anche a partire dal titolo del thread ...

    Parli di funzioni e poi vuoi che cerchiamo su internet per te?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    no quando mai volevo sapere se qualcuno poteva spiegarmi il funzionamento e se ne aveva alcune già pronte
    e con che criterio se trovo una funzione void posso integrarla nel mio programma

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Forse è meglio se rifai la tua domanda ... una sola.

    Qual è il problema?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    dunque faccio un esempio così è più chiaro
    inizializzo un vettore e lo riempio con una serie di interi inseriti dall'utente
    ora se io volessi trovare in rete uno degli algoritmi di ordinamento (bubble sort o selection sort) prendendolo da internet per quello che ho visto sulla modularità ed il riutilizzo dei sottoprogrammi basterebbe integrare la funzione nel codice e richiamarla, ma se lo faccio non mi funziona.
    volevo capire perchè...
    spero di essere stato chiaro stavolta , grazie per l'interessamento ^^

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Quote Originariamente inviata da mikk94 Visualizza il messaggio
    ma se lo faccio non mi funziona.
    volevo capire perchè...
    E come facciamo a saperlo se non ci fai vedere cosa fai con quello che hai trovato?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    codice:
    #include<iostream>
     #include<cstdlib>
     
     using namespace std;
     
     int vet[10];
     
     /*void inizializzavettore()
     {
      int n;
      
      cout << "Inserisci il numero di elementi che vuoi nel vettore: ";
      cin >> n;
      
      int vet[n]; 
     }*/
     
     void inserimentodati()
     {
      int n;
      
      for (int i=0; i<10; i++)
      {
      cout << "Inserisci l'elemento nella posizione " <<i;
      cout << " del vettore: ";
      cin >> vet[i];
      }
     }
     
     void stampavettore()
     {
      int n; 
      for (int i=0;i<10; i++)
      {
      cout << "|" << vet[i];
      cout << "|\n";
      }
     }
     
     void maggiore()
     {
      int max;
      max = vet[0];
      for (int i=0; i<10; i++)
      {
      if (vet [i]> max)
      max = vet[i];
      }
      
      cout << "\nL'elemento maggiore dell'array e':\t" << max ;
      cout << "\n";
     }
     
     void minore()
     {
      int min;
      min = vet[0];
      for (int i=0; i<10; i++)
      {
      if (vet [i]< min)
      min = vet[i];
      }
      
      cout << "\nL'elemento minore dell'array e':\t" << min ;
      cout << "\n";
     }
              
     int main() {
      
     string scelta;
     //inizializzavettore();
     inserimentodati();
     stampavettore();
     
     cout << "Vuoi calcolare il massimo o il minimo del vettore?";
     cin >> scelta;
     
     if (scelta == "massimo")
     {
      maggiore();
     }
     
     if (scelta == "minimo")
     {
      minore();
     }
     
     system ("pause");
     
     }
    esempio integro quest'altra parte di codice ovviamente poi richiamando con la sintassi "bubblesort();" nel main

    codice:
    void bubblesort(int v[], int n) {
     int i,k;
     int temp;
     for(i = 0; i<n-1; i++) {
      for(k = 0; k<n-1-i; k++) {
              if(v[k] > v[k+1]) {
               temp = v[k];
               v[k] = v[k+1];
               v[k+1] = temp;
              }
      }
     }
    }

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Integri come?? Se non lo mostri praticamente ed elenchi gli errori come si risponde??

    La chiamata

    bubblesort();

    nel main non va bene dato che quella funzione prevede due parametri ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    e quindi come deve essere fatta la chiamata?

    ecco gli errori
    456.jpg

  10. #10
    Il compilatore ti descrive perfettamente il problema... stai chiamando una funzione che si aspetta due argomenti senza passarne nessuno. Se guardi il suo prototipo, è evidente che accetta come primo argomento il vettore da ordinare, e come secondo il numero di elementi che lo compongono.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.