nie sortuje !

Problemy i ich rozwiązania w C++.
joana0608
Początkujący
Początkujący
Posty: 10
Dołączył(a): niedziela, 22 kwietnia 2012, 22:28

nie sortuje !

Post przez joana0608 »

Witam, czy ktoś móglby mi wytlumaczyć dlaczego ten program nie sortuje?

Code: Zaznacz cały

#include <cstdlib>
#include <iostream>

using namespace std;
 void sortowanieRosnace ();
void sortowanieMalejace ();
int main()
{   int temp;
    char znak;
    int tab [20];
    srand (time(NULL));
    for ( int i = 0; i< 20; i++ )
    { tab [i] = rand () % 100 + 1;
    cout << " Liczba " << i+1 << " to: " << tab [i] << "\n"; 
    }
   
    cout << " Wybierz typ sortowania: R - rosnace, M - malejace " << endl;
    cin >> znak;

   if ( znak  = 'R')
   { 
    
 
 for ( int i = 0; i< 20 ; i++ )
 {
     for ( int j = 0; j <19 ;j++ )
     {
         if ( tab [j] > tab [j+1])
         {
              temp = tab [j];
         tab[j] = tab [j+1];
         tab [j+1] = temp;
         }
         }
         }
}
        else
        if( znak = 'M')
       {
        

 for ( int i = 0; i< 20 ; i++ )
 {
     for (int  j = 0; j <19 ;j++ )
     {
         if ( tab [j] < tab [j+1])
         {
               temp = tab [j];
         tab[j] = tab [j+1];
         tab [j+1] = temp;
         }
         }
         }
         }
     
         
    system("PAUSE");
    return EXIT_SUCCESS;

}
Protected_48
Początkujący
Początkujący
Posty: 7
Dołączył(a): sobota, 26 maja 2012, 14:08

Re: nie sortuje !

Post przez Protected_48 »

Powinno być tak :

Code: Zaznacz cały

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

const unsigned int r = 10;

void bubble_sort(int tab[])
{
    int temp;
    for(unsigned int i = 0; i < r;++i)
    {
        for(unsigned int j = 0; j < r - 1;++j)
        {
            if(tab[j] < tab[j+1])
            {
                temp = tab[j];
                tab[j] = tab[j+1];
                tab[j+1] = temp;
            }
        }
    }
}

int main(int argc, char * argv[])
{
    int tab[r];
    cout << "Liczby :" << endl;
    srand(time(NULL));
    for(unsigned int i = 0; i < r;++i)
        tab[i] = rand() % 100;
    for(unsigned int i = 0; i < r;++i)
        cout << tab[i] << " ";
    bubble_sort(tab);
    cout << endl <<"Po sortowaniu :" << endl;
    for(unsigned int i = 0; i < r;++i)
        cout << tab[i] << " ";
    cin.sync();
    cin.get();
    return EXIT_SUCCESS;
}
Post Reply