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

    [C++] Array con numeri casuali e scambi casuali

    Crea un array contenente valori casuali compresi tra 1 e 9 ed effettua 5 scambi casuali.
    Fatto cosi' ma non viene..
    Aiuto!!!
    ***************************


    #include <cstdlib>
    #include <ctime>
    #include <cmath>
    #include <iostream>
    using namespace std;

    int main()
    {
    srand(time(NULL));
    int dim;
    cout<<"Inserisci dim: "<<endl;
    cin>>dim;
    cout<<endl;
    int A[dim];
    cout<<A[dim-1]<<endl;
    for(int i=0;i<dim;i++)
    {
    A[i]=rand()%10+1;
    cout<<A[i]<<endl;
    }
    cout<<endl;
    for(int i=0;i<4;i++)
    {
    int k=rand()%dim;
    int h=rand()%dim;
    int temp;
    A[k]=temp;
    A[k]=A[h];
    A[h]=temp;
    }
    for(int i=0;i<dim;i++)
    {
    cout<<A[i]<<endl;
    }

    return 0;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Controlla le tre istruzioni dello scambio
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Sono fuso oggi, mi puoi aiutare facendo le modifiche direttamente sul mio listato?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Non puoi non concentrarti 10 secondi su 3 righe di cui una sola è sbagliata

    A[k]=temp;
    A[k]=A[h];
    A[h]=temp;

    Ci arrivi sicuramente da solo
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    temp=A[k] , pero' non viene comunque....
    Se metto es. dim 6 viene cosi':
    4199419
    7
    4
    3
    6
    6
    9

    9
    7
    4
    3
    6
    6
    ****************
    ora è il listato è cosi':
    #include <cstdlib>
    #include <ctime>
    #include <cmath>
    #include <iostream>
    using namespace std;

    int main()
    {
    srand(time(NULL));
    int dim;
    cout<<"Inserisci dim: "<<endl;
    cin>>dim;
    cout<<endl;
    int A[dim];
    cout<<A[dim-1]<<endl;
    for(int i=0;i<dim;i++)
    {
    A[i]=rand()%10+1;
    cout<<A[i]<<endl;
    }
    cout<<endl;
    for(int i=0;i<5;i++)
    {
    int k=rand()%dim;
    int h=rand()%dim;
    int temp;
    temp=A[k];
    A[k]=A[h];
    A[h]=temp;
    }
    for(int i=0;i<dim;i++)
    {
    cout<<A[i]<<endl;
    }

    return 0;
    }

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Cosa vuol dire "non viene"??
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Vedi quello che ho scritto sopra provando ocn dim es. 6.
    Viene un lungo numero e poi non ci sono 5 scambi.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Questa linea

    cout<<A[dim-1]<<endl;

    non serve a nulla, eliminala.




    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Caspita è vero!! 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 © 2024 vBulletin Solutions, Inc. All rights reserved.