Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

KillerBee

Mieszanie Tablicy for Spoj

Polecane posty

Zadanie:

Napisz program mieszający zawartość tablicy w podany sposób. Tablica rozmiaru n zawiera początkowo liczby całkowite 1, 2, ..., n. Mieszanie polega na zamianie miejscami pary elementów.

Wejście

Na wejście zostanie podana liczba m oznaczająca liczbę testów, po której wystąpi m opisów testów. W każdym opisie na początku podane będą dwie liczby n oraz k, gdzie n to rozmiar tablicy a k liczba zamian. Po nich zostanie podanych k par liczb ai bi. Każda taka para opisuje zamianę miejscami liczb na pozycjach ai i bi. 1 <= n <= 1000, 1 <= ai, bi <= n, 0 <= k <= n + 10.

Wyjście

Na wyjściu, dla każdego testu powinna pojawić się jedna linia zawierająca kolejne elementy tablicy po wykonaniu wszystkich wymian. Liczby powinny być rozdzielone spacjami.

Przykład

Wejście:

3

4 0

3 1

1 1

3 1

1 2

Wyjście:

1 2 3 4

1 2 3

2 1 3

#include <iostream>

#include <cstdlib>

void mieszaj1D(int **TabL,int roz_pop)

{

int x1, x2, *tmp;

srand((unsigned int)time(NULL));

for (int i=0; i<roz_pop*2; i++)

{

x1=rand()% roz_pop;

x2=rand()% roz_pop;

tmp=TabL[x1];

TabL[x1]=TabL[x2];

TabL[x2]=tmp;

}

}

void mieszaj2D(int** TabL, int roz_pop)

{

for (int i=0; i<roz_pop; i++)

mieszaj1D(&TabL,roz_pop);

system("PAUSE");

}

Tu również proszę o pomoc, bo coś mi nie działa. występuje WinMain@16

Link do komentarza
Udostępnij na innych stronach

Naukę programowania zacznij od jakiegoś tutoriala albo innej książki.

Funkcja main, która może zwracać int albo nic (void) to główna funkcja programu. W jej obrębie się wszystko wykonuje, od niej program działanie zaczyna i na niej kończy. O ile wszystko dookoła (implementowanie bibliotek, deklarowanie/prototypowanie funkcji, zmienne globalne) to są 'klocki', main to powierzchnia, na której je układasz.

Link do komentarza
Udostępnij na innych stronach

piotrekn - po pierwsze moje funkcje main() zawierają zwykle jedną linijkę kodu, czasem trzy, to tylko funkcja jak każda inna ;) Fakt, że to od niej zaczyna się wykonywanie i na niej kończy, ale nie ma co jej demonizować xD Swoją drogą to zawsze powinna zwracać inta, używanie void jest niezgodne ze standardami ;)

KillerBee - nie mam bladego pojęcia jak podany fragment kodu miałby rozwiązywać opisane zadanie. Nie robi nawet nic związanego z treścią. Jeśli chodzi o kod, który przedstawiłeś to nie mam bladego pojęcia po co funkcje przyjmują wskaźnik wskaźnika (**TabL) skoro tablica ma być jednowymiarowa... Radziłbym wczytać się w zadanie, spróbować najpierw wykonać polecenie na kartce, a potem zacząć programować.

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...