Sortowanie przez wybieranie - nie działa kod

0
 #include <cmath>
#include <iostream.h>
#include <iomanip>
#include <stdio.h>
#include <conio.h>

int main()
{
// WPROWADZANIE DANYCH
int x;
int n;
int i;
cout<<"Ile liczb chcesz posortowac?"<<endl;
cin>>n;
int *tab=new int [n];
for(i=0;i<n;i++)
{
        cout<<"Wprowadz liczbe do tablicy:"<<endl;
        cin>>x;
        tab[i]=x;
}
for(i = 0; i < n; i++) cout << setw(4) << tab[i];

// WYŚWIETLENIE DANYCH

cout<<"Twoje liczby to:"<<endl;

for(i=0;i<n;i++)
{
        cout<<""<<tab[i]<<endl;
}

// SORTOWANIE PRZEZ WYBIERANIE

int pmin;
int j;

for(j = 0; j < n - 1; j++)
  {
    j=pmin;
    for(i = j + 1; i < n; i++)
      if(tab[i] < tab[pmin]) pmin = i;
    swap(tab[pmin], tab[i]);
  }
// Wyświetlamy wynik sortowania
  cout << "Po sortowaniu:\n\n";
  for(i = 0; i < n; i++) cout << setw(4) << tab[i];
  cout << endl;

system("pause");;
return 0;
}

 

Witam, dlaczego ten kod nie działa?

0

Jestem leniwy, nie chce mi się czytać całego kodu, ale fajnie by było jakbyś napisał CO nie działa, a nie że nie działa.

To co mi się rzuciło w oczy od razu to to, że tak się nie tworzy tablic o nieznanej wielkości w momencie kompilowania. Musisz się posłużyć operatorem new lub jakimiś funkcjami z C do alokowania pamięci. Poza tym zdecyduj się czy chcesz pisać w C czy C++, bo niepotrzebnie biblioteki z C dołączasz teraz.

0

np. 43 C:\Users\Zeus\Desktop\jjjjj.cpp `swap' undeclared (first use this function) , poza tym poprawiłęm już tablice

0

Eh.. Tak trudno użyć google i poczytać? Zresztą, masz jasno na białym napisane dlaczego nie chce się skompilować.
Dodaj to i zadziała..

#include <algorithm>
0

Dalej mi nie trybi.... Dalej czepia się swap i 48 C:\Users\Zeus\Desktop\ssdd.cpp `setw' undeclared (first use this function)

0

Pod czym to kompilujesz....?

0

W devie pokazuje te komunikat a w Builder C++ coś z referencją, a Tobie się kompiluje?

EDIT: nie bawię się w swap, wprowadziłem kilka zmiennych i obeszło się bez niego, program działa, pozdrawiam!

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