• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

wyszukiwanie liniowe

Object Storage Arubacloud
0 głosów
120 wizyt
pytanie zadane 30 kwietnia 2020 w C i C++ przez cba Użytkownik (620 p.)

potrzebuje napisać funkcje wyszukiwania liniowego rekurencyjnie. funkcja ma zwrócić indeks 1 napotkanej liczby a gdy nie wystepuje to -1.

oto kod iteracyjny:

int SzukajLiniowe(int *t, int n, int liczba){
int i;
 for(i=0;i<n;i++)
    if ( t[i] == liczba)
      return i;
return -1;
}    

Nie mam pomysłu jak zamienić to na rekurencje.

1 odpowiedź

+1 głos
odpowiedź 30 kwietnia 2020 przez profesorek96 Szeryf (91,420 p.)

Jeśli definiujesz funkcje rekurencyjna pierwsze co musisz określić to tak zwany warunek stopu. Czyli miejsce w którym funkcja zakończy swoje działanie. W tym wypadku są dwa warunki stopu. Jeden z nich to kiedy n będzie mniejsze od zera. Zaś drugi kiedy tablica dla indeksu n-1 będzie równa naszej szukanej liczbie. Oczywiście najlepiej jest iść od tyłu czyli elementu n-1 do początku czyli elementu o indeksie zero.

Kod realizujący tę koncepcie widoczny jest poniżej:

#include <iostream>
using namespace std;

int wyszuka_liniowo_rek(int t[],int n,int szukana)
{
	if(n<0)
	{
		return -1;
	}
	else if(t[n-1]==szukana)
	{
		return n-1;
	}
	else
	{
		return wyszuka_liniowo_rek(t,n-1,szukana);
	}
}

int main() {
	int tab[]={3,5,7,8,9};
	
	cout<<wyszuka_liniowo_rek(tab,5,10)<<endl;
	cout<<wyszuka_liniowo_rek(tab,5,3)<<endl;
	
	return 0;
}

 

komentarz 30 kwietnia 2020 przez cba Użytkownik (620 p.)
dzięki wielkie
komentarz 30 kwietnia 2020 przez profesorek96 Szeryf (91,420 p.)
Proszę bardzo :)

Podobne pytania

0 głosów
2 odpowiedzi 268 wizyt
pytanie zadane 28 sierpnia 2022 w C i C++ przez benny13 Obywatel (1,150 p.)
0 głosów
1 odpowiedź 315 wizyt
pytanie zadane 17 listopada 2020 w C i C++ przez ifuknowme555 Początkujący (410 p.)
0 głosów
1 odpowiedź 408 wizyt
pytanie zadane 22 kwietnia 2020 w C i C++ przez rother Nowicjusz (120 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...