Anonimo
Anonimo ha chiesto in Computer e InternetProgrammazione e Design · 5 mesi fa

NON RIESCO A FAR FUNZIONARE CORRETTAMENTE QUESTO ALGORITMO?

Il problema è che ripropone lo stesso numero con la sua corrispettiva molteplicità nel vettore più volte...

il codice è questo:

#include <iostream>

#include <cstdlib>

using namespace std;

void molteplicita(int [],int);

main()

{

 int N,i;

  do

  {

      cout << "inserisci la dimensione ";

      cin >> N;

  }while(N>200);

 int a[N];

 for(i=0;i<N;i++)

 {

   cout << "inserisci b[" << i << "] ";

   cin >> b[i];

 }

  molteplicita(a,N);

  system("PAUSE");

}

void molteplicita(int a[],int N)

{

  int c=0,i,j;

  for (i=0;i<N;i++)

  {

   for (j=0;j<N;j++)

   {

     if (a[i]==a[j])

     c++;

   }

    cout << "\na[" << i << "] " << a[i] << " " << c << "\n";

    c=0;

  }

}

Aggiornamento:

POTRESTE SPIEGARMI ANCHE COME AVETE FATTO PERFAVORE??

2 risposte

Classificazione
  • Anonimo
    5 mesi fa

    Usa questo:

    #include <iostream>

    #include <cstdlib>

    #include <ctime>

    #define N 100

    using namespace std;

    main()

    {

          int v[N],i,l,r[N][2],c=0;

          srand(time(NULL));

          cout << "\nGenero il vettore casuale...\n";

          for(i=0;i<N;i++)

          {

           v[i] = rand()%10+1;

           r[i][0] = r[i][1] = 1;

           cout.width(3);

           cout << v[i] << " ";

          }

         cout << endl;

         for(i=0;i<N;i++)

           for(l=i+1;l<N;l++)

           {

            if((v[i] == v[l]))

            {

             r[i][0] = v[l];

             r[i][1]++;

             v[l] = 0;

             c++;

            };

           }

           cout << c << " cicli di confronti" << endl;

          for(i=0;i<N;i++)

           if(r[i][0]>1)

            cout << r[i][0] << " e' presente " << r[i][1] << " volte\n";

          cout << endl;

          system("pause");

    }

  • Chrono
    Lv 7
    5 mesi fa

    Usa la prima parte del Counting Sort

Altre domande? Fai una domanda e ottieni le risposte che cerchi.