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));
}**
}