Program szukający danej wartości w tablicy

0

Witam,
mam za zadanie w języku C stworzyć funkcję, która szuka danej wartości w tablicy i zwraca jej numer indeksu.
Napisałem taki kod

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


int szukaj(int T[], int n1, int n2, int k);

int main(){
	int x;
	int tab[8]={1,3,4,5,7,9,12,10};
	int n1=0, n2=7;
	int k=50;
	x=szukaj(tab,n1,n2,k);
	if(x!=-1)
	printf("Liczba k pojawia sie pierwszy raz w indeksie: tab[%d]\n",x);
	else printf("Liczba k nie pojawia sie w tablicy\n");
	
	return 0;
}

int szukaj(int T[], int n1, int n2, int k)
{
int m=-1;
while(m==-1){
for(T[n1];n1<=n2;(n1)++)
if(T[n1]==k){
m=n1;}
}

return m;
}

Jednak po kompilacji ukazuje mi się puste okno i nie wiem gdzie popełniłem błąd.
Proszę o pomoc.

1

Wywal tego while(m==-1), bo jest to bez sensu.

0

Dzięki wielkie, teraz działa.

0

taki tok zgrubsza:

int val;
scanf( "%d", &val );
size_t len = sizeof( tab ) / sizeof( tab[0] ), i;
while( i = 0; i < len; i++ )   if( tab[i] == val )  break;
if(  i != len )  printf( "%zu\n", i );
else  puts( "brak" );
0

Za dużo tu kombinacji.

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

int find_val(int array[], int size, int value)
{
  for(int idx = 0; idx < size; idx++)
    if(array[idx] == value)
      return idx;
    
  return -1;
}

int main(void)
{
    int array[8] = {2, 3, 0, 25, 8, 9, 12, 11};
    int val_idx = find_val(array, 8, 25);
 
    if(val_idx == -1)
      printf("Nie znaleziono liczby\n");
    else
      printf("Pierwsze wystapienie liczby: array[%d]\n", val_idx);
    
    return 0;
}

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