Προς το περιεχόμενο

PROBLHMA C


bill___

Προτεινόμενες αναρτήσεις

Δημοσ.

thelo ne katatakso 4arithmous esto n1,n2,n3,n4 kata ayksousa seira

p.x n2>n4>n1>n3. to basiko problhma mou einai oti thelo na ksero poios einai o megalhteros kai epeita o amesos mikroteros h kapoios isos me ayton. skefthka na ta balo se enan pinaka alla me ta thn taksinomhsh den tha ksero p.x to proto stoixeio a[1] einai to n1;n2;...

yparxei tropos na ksero;

Δημοσ.

Mporeis na exeis ton arxiko pinaka pou 8a taksinomiseis kai enan deftero pinaka poy 8a deixnei TIN 8ESI tou stoixeiou poy se endiaferei na kratiseis.

 

px an eixes tous ari8mous

n1=5

n2=3

n3=6

n4=7

 

mporeis na exeis ton pinaka

A={5,3,6,7}

B={1,2,3,4}

 

Twra tropopoieis ton agapimeno sou algori8mo taksinomisis (px MergeShort,QuickSort ktl ktl) wste:

-Na taksinomisei ton pinka A

-Alla ka8e fora poy allazei tin 8esi se dio stoixeia tou pinaka A,

na allazei tin 8esi sta ANTISTOIXA stoixeia toy pinaka B.

 

Etsi px an se kapia fasi tou algori8mou balei to A[1]=3 mprosta apo to A[0]=5

8a prepei na balei kai to B[1]=2 mprosta apo to B[0]=1

 

Sto telos 8a exeis tin akolou8ia A taksinomimeni kai tin akolou8ia B na sou leei pia itan i arxiki 8esi tou stoixeiou.

px

A={3,5,6,7}

B={2,1,3,4}

 

Prosoxi den 8a tropopoihseis tipota allo stoys algori8mous taksinomisis ektos apo ta swapings. Oi sygriseis gia ta megalytera,mikrotera 8a ginontai mono me ton pinaka A.

-----------

Δημοσ.
thelo ne katatakso 4arithmous esto n1' date='n2,n3,n4 kata ayksousa seira

p.x n2>n4>n1>n3. to basiko problhma mou einai oti thelo na ksero poios einai o megalhteros kai epeita o amesos mikroteros h kapoios isos me ayton.

[/quote']

 

Δεν ξέρω αν θα σου είναι χρήσιμη (το βλέπω σαν πείραμα..) αλλά η παρακάτω ρουτίνα επιστρέφει την θέση του πρώτου μεγαλύτερου, μικρότερου ή ίσου (όμοιου –του ίδιου ουσιαστικά) αριθμού σε έναν πίνακα από integers.

 

>

int searchnum(int iArray[],int iArrayLen,
             int iNumberToSearch,unsigned char byRelation)
{
 int   iArray_Index;

 // TODO: Array Search ...
 for(iArray_Index=0;iArray_Index!=iArrayLen;iArray_Index++)
  {
    switch(byRelation)
     {
       case '>' : if(iArray[iArray_Index]>iNumberToSearch) { return iArray_Index; } break;
       case '<' : if(iArray[iArray_Index]<iNumberToSearch) { return iArray_Index; } break;
       case '==': if(iArray[iArray_Index]==iNumberToSearch){ return iArray_Index; } break;
       default: /* TIP: Unsupported Relation logic */ return -2;
     }
  }

 // TIP: Nothing found..
 return -1;
}

 

>
[b]Κλήση:[/b]
[i] iResult=searchnum(iArray,iArrayLen,iNumberToSearch,'>');[/i]

 

Σε περίπτωση που δεν υπάρχει μεγαλύτερος, μικρότερος ή ίσος αριθμός επιστρέφει -1, αν δώσεις άγνωστο «comparison» -2.

 

Καλή προσπάθεια.

:D

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...