C programmering, söka efter värde i array
Hej!
Jag har precis börjat lära mig c programmering och har stött på lite problem när det kommer till arrayer och funktioner. Jag ska skapa ett program som slumpar fram 10 tal mellan 0 och 10 och spar dessa i en array. Jag ska sedan kunna räkna antalet förekomster av ett givet tal i denna array.
Jag har skapat 3 funktioner, en för att skapa arrayen med slumpade tal, en för att skriva ut arrayen samt en som ska göra själva sökningen. Jag tror jag har kommit en bit på vägen men det fungerar inte riktigt med sökningen. Summan fungerar inte alls och räknar helt tokigt. Jag tror det har att göra med att jag inte returnerar arrayen på rätt sätt. Hur ska jag göra detta för att få det att fungera?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int * rand_array();
int print_arr(int numbers[]);
int search();
int main()
{
srand((time(NULL)));
print_arr(rand_array());
printf("\n\nTalet 2 f\x94rekommer %i g\x86nger\n", search());
return 0;
}
int * rand_array(){
int i;
static int numbers[10];
for(i=0; i<10; i++)
numbers[i] = rand() % 11;
return numbers;
}
int print_arr(int numbers[]){
int i;
int *p;
p = rand_array();
for (i = 0; i < 10; i++ )
printf("Tal: %i\n", *(p + i));
}
int search(){
int i, *sum = 0;
int *numbers = rand_array();
for (i=0; i <= 10; i++) {
if (*(numbers + i) == 2)
sum++;
}
return sum;
}