Array
-
Ich glaubs ja nicht..

-
Ich bin mittlerweile so weit (nicht allzu weit, ich weiß...)
#include<iostream> using namespace std; int main() { int A[10]; int loop; for(loop = 0; loop < 10; ++loop) { cout << "Geben Sie eine Wert ein: "; cin >> A[loop]; } return 0; }Nun habe ich im Internet Bubblesort gefunden.
Schaut ja ungefähr so aus:
for(int i = 0; i < 10; i++) { for(int j = 0; j < (10 - 1); j++) { if(A[j] > A[j + 1]) { int B = A[j]; A[j] = A[j + 1]; A[j + 1] = B; } } }Ich weiß jedoch nicht, wie er mir die gesuchten Elemente ausgibt.
-
wo ist bei einem sortierten Array wohl das zweit kleinste?
-
An der 2. Stelle und das 2. größte an der vorletzten.
Aber bei Arrays musste man doch aufpassen, damit es keinen Fehler bei der Ausgabe gibt (also beim Index). Was muss ich also genau ausgeben?
-
Naja. Die Aufgabe ist ein wenig sinnlos, wenn man den Teil anschaut, wo man das Array nur einmal durchlaufen darf..

Wie auch immer. Du hast jetzt ja ein sortiertes Array. Was ist denn jetzt noch das Problem?
EDIT:
Bei dir ist die Anzahl ja fix.
Das zweite Element ist Anfang+2, also 1.
Und das letzte ist Anzahl-2, also 6.
-
Kannst du bitte mal schreiben, was ich bei return hinschreiben muss?! Ich hab einen Moment rumprobiert, aber bekomme immer einen Bezeichnerfehler.
-
drakon schrieb:
Naja. Die Aufgabe ist ein wenig sinnlos, wenn man den Teil anschaut, wo man das Array nur einmal durchlaufen darf..

Ich habs hin bekommen.
drakon schrieb:
EDIT:
Bei dir ist die Anzahl ja fix.
Das zweite Element ist Anfang+2, also 1.also ist Anfang = -1?

Ich glaubs ja nicht... :p
-
#include<iostream> using namespace std; int main() { int A[8]; int loop; for(loop = 0; loop < 8; ++loop) { cout << "Geben Sie einen Wert ein: "; cin >> A[loop]; } for(int i = 0; i < 8; i++) { for(int j = 0; j < (8 - 1); j++) { if(A[j] > A[j + 1]) { int B = A[j]; A[j] = A[j + 1]; A[j + 1] = B; } } } cout << A[1] << endl; cout << A[6] << endl; }Thats it

-
<i>
Tay_fun</i> schrieb:#include<iostream> using namespace std; int main() { int A[8]; int loop; for(loop = 0; loop < 8; ++loop) { cout << "Geben Sie einen Wert ein: "; cin >> A[loop]; } for(int i = 0; i < 8; i++) { for(int j = 0; j < (8 - 1); j++) { if(A[j] > A[j + 1]) { int B = A[j]; A[j] = A[j + 1]; A[j + 1] = B; } } } cout << A[1] << endl; cout << A[6] << endl; }Thats it

Nö, jetzt sind 2 mal
<h1>Tay_fun</h1> schrieb:Bei der Ermittlung der Extrema darf das Array nur einmal durchlaufen
werden.
-
Was, wieso denn?
-
Ist mit den Code dann überhaupt etwas anzufangen oder muss man das meiste neu schreiben? So ein Mist.