Prośba o sprawdzenie poprawności funkcji w C

0

Witam.
Mam zadanko o takiej treści:
Napisz funkcję, która otrzymuje trzy argumenty: dodatnią liczbę cał-
kowitą n oraz dwie n-elementowe tablice tab1, tab2 o elementach
typu int i:
b) przepisuje zawartość tablicy tab1 do tablicy tab2 w odwrotnej
kolejności (czyli element tab1[0] ma zostać zapisany do komórki
tablicy tab2 o indeksie n − 1).

no i rozwiązałem je w taki sposób:

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

void przepisz(int n, int * tab1, int * tab2){
	
	int i,j;
	for(i=0;i<n;i++){
		for(j=n-1;j>0;j--){
		tab2[i]=tab1[j];
		}
	}
	
}

int main(int argc, char *argv[]) {
	
	
	
	return 0;
}

Czy funkcja ta jest napisana poprawnie? Przepraszam, że zawracam gitarę z takimi pierdołami, ale to dla mnie ważne.

0

Nie, to jest bez sensu. Ty przypisujesz każdej komórce tab2 po kolei każdą wartość z tab1 i w efekcie na koniec cała tab2 jest wypełniona pierwszą liczbą z tab1.
Powinieneś mieć:

for(i=0;i<n;i++){
    tab2[n-i-1]=tab1[i];
}
0

Ok dzięki :)

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