Jak w poprawny sposób zwrócić z funkcji np. 10 elementową tablice, tak żeby tablica zwracana zapisała się do zmiennej która również jest 10 elementową tablicą.
W pliku z funkcjami mam coś takiego:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdlib.h>
#include "header.h"
int menu(){
int g=0, liczba=0;
int tab[10];
printf("Wybierz ktore zadanie pokazac:\n");
printf("1. zadanie 1\t2. zadanie 2\t3. zadanie 3\t4. zadanie 4\n");
printf("k. koniec\n");
switch(getchar()) {
case '4':
//o ten moment dokladnie chodzi
*tab = zad_4_wypelnienie();
printf("%d\t%d\t%d\t%d\t%d\t%d\t", tab[0],tab[1],tab[2],tab[3],tab[4],tab[5]);
printf("Jakiej liczby szukac?\n");
clearIn();
scanf("%d", &liczba);
zad_4(tab, liczba);
break;
A tak wygląda sama funkcja:
int* zad_4_wypelnienie() {
static int tablica[10];
srand(time(0));
for(int i = 0; i<10; i++){
tablica[i]=rand() % 10 + 1;
printf("%d\t", tablica[i]);
}
endl();
return tablica;
}
Dodam że w pliku nagłówkowym mam prototyp ww. fukncji.
Gdy w taki sposób zwracam tablice to w zmiennej do jakiej ją przypisuję zazwyczaj zgadza się tylko pierwsza liczba a reszta to 0 albo random.
Pomóżcie ;/