Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Junior Challenge 2012 / Răspuns: Problema Sqrt : Iunie 30, 2012, 09:22:13
X este natural?
2  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Cautarea ta binara este gresita : Martie 02, 2012, 00:18:49
Tocmai avusesi o revelatie.
Cred ca m-am prins.
Mersi mult pentru explicatii!
3  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Cautarea ta binara este gresita : Martie 01, 2012, 23:46:04
hmmmm... cred ca am inteles

Pentru cazul meu cu A[mid]<=val ar trebui sa afiseze pozitia cea mai mare pe care se afla numarul cautat, nu? Daca e asa, atunci cat de cat m-am prins.
4  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Cautarea ta binara este gresita : Martie 01, 2012, 23:25:27
Aoleu aoleu aoleu.
Ai dreptate.
Mersi mult Very Happy
5  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Cautarea ta binara este gresita : Martie 01, 2012, 23:02:55
Ok, mersi oricum pentru efortul depus Smile
6  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Cautarea ta binara este gresita : Martie 01, 2012, 22:43:48
neah, nu merge nici asa, imi zice ca 1 se afla pe pozitia 1, dar de fapt e pe 0. La tine merge cum trebuie? Ai sirul indexat de la 1 sau de la 0?
7  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Cautarea ta binara este gresita : Martie 01, 2012, 22:27:59
7
1 3 3 4 5 6 7
1


Pe prima linie numarul de elemente. Pe a doua elementele. Pe a treia elementul cautat
8  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Cautarea ta binara este gresita : Martie 01, 2012, 22:18:45
Cod:
#include <cstdio>

int N, A[1005];

int binary_search(int val)
{
    int hi=N, lo=-1, mid;
while(hi - lo > 1){
mid=lo+(hi-lo)/2;
if(A[mid] <= val)
lo=mid;
else
hi=mid;
}
if(hi==N && A[hi]!=val)
return -1;
else
return hi;
}

int main(){

freopen("date.in","r",stdin);
int j, poz, x;
scanf("%d",&N);
for(j=0; j<N; ++j)
scanf("%d",&A[j]);

scanf("%d",&x);

poz=binary_search(x);


printf("\n%d",poz);
}
9  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Cautarea ta binara este gresita : Martie 01, 2012, 22:13:29
Atunci nu merge pentru cazul in care elementul cautat se afla pe prima pozitie Smile)
10  Comunitate - feedback, proiecte si distractie / Blog / Răspuns: Cautarea ta binara este gresita : Martie 01, 2012, 22:01:37
Inainte de toate, al doilea cod functioneaza pentru un sir indexat de la 1 sau de la 0?

Oricum ar fi, mie nu-mi functioneaza pe cazul in care elementul cautat se afla pe ultima pozitie in sirul sortat.
11  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2012 / Răspuns: Secvmin : Ianuarie 22, 2012, 09:12:20
Cred ca ceea ce a vrut sa spuna Mihai este asta:

B trebuie sa apara in ordine in A?

Adica daca am avea A
2 5 6 7
si B 2 6 5
S-ar accepta subsecventa 2 5 6 ca fiind B?Very Happy
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines