Cześć.
Mam problem z programem, który ma za zadanie wypełnić tablicę dwuwymiarową losowymi liczbami, wyświetlić ją na ekranie, zapytać użytkownika o to, które wiersze chce zamienić na tablice jednowymiarowe i wyświetlić je. Próbowałem na początek wypisać jeden wybrany wiersz, ale gdzieś się w tym pogubiłem i wypisuje mi pierwszą kolumnę. Proszę o pomoc.

Oto mój program:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void wypelnij();
void kolumna();
void przekatna();
void wiersz();
void zamianaWierszy(int w, int (*wskn) [5]);

int main(void) {
	int n[5][5];
	int x = 5, i, j, min, max, w;//x jako rozmiar tablicy (kwadratowej)
	min = 0;
	max = 0;
	
	srand(time(NULL));
	
	wypelnij(x, n); 
	//kolumna(x, n);
	//wiersz(x, n);
	//przekatna(x, n);
	
	for(i=0; i<x; i++)
	{
	    for(j=0;j<x;j++)
	    {
		printf("%4d", n[i][j]);
			if(min>n[i][j]){
				min = n[i][j];
			}
			else if(max<n[i][j]){
				max = n[i][j];
			}
	    }
	printf("\n\n");
	}
	//printf("Wartoscia najwieksza w tej tablicy jest %d, a wartoscia najmniejsza jest %d\n\n", max, min);
	printf("Ktore wiersze chcesz zamienic w tablice? (Max do %d wiersza)\n", x);
	scanf("%d", &w);
	w--;
	zamianaWierszy(w, n);//Zamiana wskazanych wierszy w tablice

	return 0;
}
//----------------------------------------------------------------------------------------------------------------

void wypelnij(int a, int (*wskn) [5]){
	int i, j;
	for(i=0; i<a; i++)
	{
		for(j=0; j<a; j++){
			
		
		wskn[i][j] = rand()%21;
		}
	}
}

**void zamianaWierszy(int w, int (*wskn) [5]){
	int i, j, tab[5];
		for(i=0; i<5; i++){
			for(j=0; j<5; j++){
				if(w==i){
					printf("znak ");
					tab[i] = *(*(wskn+w)+j);		
				}
			}
		//printf("tab[%d] = %d\n", i, *(*(wskn+i)+j));		
		}**
}