C++ sortowanie i losowanie liczb losowych w tablicy

0

Na zadanie domowe musze napisac program ktory losuje liczby z jakiegos przedzialu wpisuje je do tablicy i sortuje od najmniejszej do najwiekszej mecze sie z tym juz 3h i nie wiem jak zmusic ten cholerny program zeby sortowal prosze o pomoc oto co na razie napisalem

#include <ctime>
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <windows.h>
using namespace std;
int x;
int main()
{
	cout<<"podaj ilosc liczb do sortowania"<<endl;
 srand (time(NULL));
 cin>> x;
int tab[x];

for (int n=0; n<x; n++)
{
	tab[n]=rand()%100+1; //losowanie od 51 do 75
	cout<<tab[n]<<endl;
}	
return 0;	
}
4
std::sort(tab, tab + x);

Btw to jest niepoprawnym C++

int tab[x];
0

Nie do końca o to mi chodziło musze uzyc sortowania babelkowego tylko nie wiem jak zrobic zeby ta funkcja od sortowania wiedziala ze ma sortowac liczby w tablicy czyli musze skorzystac z tego tylko jak to wsadzic do programu powyzej tak zeby działało?????

void Sortowanie( int tab[], int size )
{
    for( int i = 0; i < size; i++ )
    {
        for( int j = 0; j < size - 1; j++ )
        {
            if( tab[ j ] > tab[ j + 1 ] )
                 swap( tab[ j ], tab[ j + 1 ] );
            
        }
    }
}
1
Sortowanie(tab, x);
0

Dzieki panowie za pomoc poradzilem sobie oto finalna wersja

#include<iostream>
#include<cstdlib>
using namespace std;
 
void sortowanie(int tab[],int n)
{
  for(int i=0;i<n;i++)
    for(int j=1;j<n-i;j++)
    if(tab[j-1]>tab[j])
      swap(tab[j-1], tab[j]);
}
 
int main()
{
  int *tab, n;
 

  cin>>n;
 
  tab = new int [n]; 
  for(int i=0;i<n;i++)
    tab[i]=rand()%25+51;   

  sortowanie(tab,n);

  for(int i=0;i<n;i++)
          cout<<tab[i]<<" ";
 
  cout<<endl;
  system("pause");
  return 0;
}
1

Masz new[] a nie masz delete[], zły nawyk który będzie się mścić.
Pomijam sam fakt używania new[], bo rozumiem że ćwiczenie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1