Suche bestimmten code (suche in array??



  • Hallo neue woche neue afgabe gekrigt 😡 . Nun der befehl lautet, vom schef aler programmiere der welt. Von Dr.Dr.Med.Dr.Dr.Prof.Dr.Dr. Misirlis oder so enlich.(http://parallel.di.uoa.gr/PSCL/N.Missirlis/).

    Nun diese woche wolte er das wir ein programm in c schreiben das ein Array hat das mit rand, also mit zufeligen zahlen voll ist. Aus diesen array das nun mit zufehligen zahlen besteht solten eine zahl auspiken. wir solten es mit verschidenen funktionen suchrn wie zumpeispiel buble sort. Aber es gibt ein paar methoden die laut eine komischen berechnung von in sehr viel schneller sind und zwar nlog n schneller ist. hat er berechnet. Nun ich habe akke suchmethoden fertichgemacht aber eine die binering schersch methode heist habe ich mit einer funktion gemacht die sich selber wiederholt. ER SAGT DAS IST FAHLSCH DU DARFST DAS NICHT SO MACHEN. Aber wie kann ich es machen bin zu blöd eine andere methode zu "erfinden" dehalb frage ich auch habt IHR so eine methode



  • Master User, auch wenn Du Grieche bist, man versteht kaum ein Wort...

    Da hört jeder spätestens nach der 3. Zeile auf zu lesen...



  • Nun auf hochdeutsch. Suche programm das eine binäre suche macht.

    Habe so ein programm geschrieben.

    Aber war falsch da der lehrer ein programm wolte das sich nicht selber aufruft.

    Gott sei dank die nachricht war genau 3 zeilenlang das kann jeder lessen 😃



  • Wir machen keine Hausaufgaben.

    Du hast eine rekursive Lösung brauchst aber eine iterative?

    Dann zeig uns deine Lösung und wir helfen dir beim umschreiben.



  • Das soll jetzt wirklich keine Anmache sein, aber eine Frage muss ich dann doch stellen (nicht böse sein, aber der Eindruck ensteht bei mir nunmal):

    Du fragst hier bei fast jeder Aufgabe nach die du bekommst. Wie du mitbekommen hast, wurde dir oft geholfen, und ich denke das macht auch jeder gerne. Aber bist du sicher, das Informatik das richtige für dich ist? Nicht, dass man als Informatiker ein Programmiergott sein muss, aber ich denke, dass wenn man es studiert, der Ehrgeiz so groß sein sollte, das Problem selbstständig zu lösen....naja, viel Glück weiterhin.



  • Wie schreibe ich das um???

    void QuickSort(int *Array, int arxi, int telos)
    {
    	int p;	//Arxh tou pinaka
    	int q;	//Telos pinaka
    	int odigo;
    	if(arxi<telos)//katastash diakopis tou anadromikou pinaka
    		// an o pinakas periexh ligotero apo duo dtoixia
    	{
    		p=arxi;
    		q=telos;
    		odigo=(*Array+arxi);
    		/*Epanelabe thn akolou8h diadikasia mexh otou p>=q*/
    		while(p<q)
    		{
    			//Metakhnhsh tou deixth q
    			while((*Array+q)>odigo)
    				--q;
    			/*metakinhsh tou deixth p*/
    			while(((*Array+p)<=odigo)&&(p<q))
    				++p;
    				if(p<q)
    					Swap((*Array+p),((*Array+q));
    			}//telos deuterou while
    			//Epeidh p0q, thelh antalagh tou odhgou me auto pou dixnh o p kai q
    			Swap((*Array+arxi),(*Array+q));
    			QuickSort((*Array),arxi,q-1);
    			QuickSort((*Array),q+1,telos);
    		}//telos deuterou while
    }
    


  • Du fragst hier bei fast jeder Aufgabe nach die du bekommst. Wie du mitbekommen hast, wurde dir oft geholfen, und ich denke das macht auch jeder gerne. Aber bist du sicher, das Informatik das richtige für dich ist? Nicht, dass man als Informatiker ein Programmiergott sein muss, aber ich denke, dass wenn man es studiert, der Ehrgeiz so groß sein sollte, das Problem selbstständig zu lösen....naja, viel Glück weiterhin.

    Ich schließe mich dem nicht nur an, sondern gehe sogar einen Schritt weiter. Nicht nur, dass du (Master User) irgendwie mit jeder Programmieraufgabe große Probleme hast, nein, trotzdem willst du uns dauernd zeigen, dass du auf der besten Uni Europas studierst und deine Profs sowieso die Besten sind.
    Wenn deine Uni wirklich so gut wäre, dann würde sie jemanden wie dich nicht aufnehmen.

    Sorry, wenn der Ton etwas zu schroff war, aber das musste ich jetzt nach seinen letzten Postings einfach loswerden 🙄



  • Da sind mehrere Fehler in deinem Programm.

    void QuickSort(int *Array, int arxi, int telos) 
    { 
        int p;
        int q;
        int odigo; 
        if(arxi<telos)
        { 
            p=arxi; 
            q=telos; 
            odigo=*(Array+arxi); 
    
            while(p<q) 
            { 
    
                while(*(Array+q)>odigo && (p<q)) 
                    --q; 
    
                while((*(Array+p)<=odigo)&&(p<q)) 
                    ++p;
    
                if(p<q) 
                swap(Array+p,Array+q); 
            }
    
                QuickSort(Array,arxi,q); 
                QuickSort(Array,q+1,telos); 
    
    }
    

Anmelden zum Antworten