Hilfe bei Sortierung und Zechenfolge

vfl_freak

Premium-User
Schon, aber welcher ??
Du deklarierst
Code:
char Vornamen[100][10];
liest dann nur einen Wert ein
Code:
cin >> Vornamen[i];
Damit dürfte, wenn ich mich recht erinnere der ersten den beiden Werten belegt werden (quasi der, von dem Du 100 Stück hast).
Wenn Du nun als Anzahl etwa 'nun' 101 eingibst, knallt es schon
Entweder übergibst Du Anzahl an das Array oder verhinderst, dass eine größere Anzahl eingegeben wird, als aufgrund der fixen Strukturen möglich ist !!

VG Klaus
 

cwriter

Erfahrenes Mitglied
Damit dürfte, wenn ich mich recht erinnere der ersten den beiden Werten belegt werden (quasi der, von dem Du 100 Stück hast).
Das ist korrekt.

Wenn Du nun als Anzahl etwa 'nun' 101 eingibst, knallt es schon
Entweder übergibst Du Anzahl an das Array oder verhinderst, dass eine größere Anzahl eingegeben wird, als aufgrund der fixen Strukturen möglich ist !!
Technisch gesehen: Ja. (Und eine einzelne Abfrage tut nicht weh).
Praktisch gesehen kommt es auf Aufwand / Nutzen an (und vor allem: Wie es der Professor will).
Theoretisch kann man das Ganze unbegrenzt dynamisch machen, also ohne Grössenbeschränkung (ausser, die Maschine hat nix mehr). Hier ginge das sogar recht leicht mit new[] und delete[].
Für so kleine Beispiele halte ich den Overhead für ungerechtfertigt (wobei einfach ein Abbrechen im Falle einer zu grossen Eingabe natürlich auch in wenig Code geht). Aber dann kann strenggenommen std::cin oder std::cout fehlschlagen, was man dann strengenommen auch prüfen müsste, was schlussendlich in 200% Overhead resultieren würde.

Nichtsdestotrotz sollte man für Produktionscode natürlich alles prüfen, und das sollte man schon früh lernen... Ist ein bisschen ein zweischneidiges Schwert. Wenn es die Aufgabenstellung / die grundsätzlichen Regeln (müsst ihr auf Fehler prüfen?) erlauben, dann würde ich das - gerade in der Prüfungssituation - überspringen, und bei übriger Zeit am Schluss nachtragen (ausser, es gibt Punkte dafür. Dann unbedingt eintragen, sind geschenkt...).

Gruss
cwriter
 

Thaelisin

Mitglied
Also ich bin Maschinenbaustudent und muss nur dieses eine mal Informatik belegen. Leider bin ich im letzten Semester mit Pauken und Trompeten durch meinen ersten Versuch gerasselt. Die Übungen die ich gerade bearbeite sind die "Praktikumsübungen" aus diesem Semester. Ich muss zwar das Praktikum nicht mehr machen, da im letzten Semester bestanden, allerdings ist es einfach eine gute Übung.
Die Prüfung findet grundlegend nur mit Stift und Papier statt. wobei die ersten 5 Aufgaben Multiple-Choice fragen sind und die letzten 5 meistens das Erkennen eines Codes, bzw was er ausgibt, wobei ich mich unglaublich schwer tue.
Morgen werde ich mich der nächsten Aufgabe widmen, auf die die restlichen aufgaben aufbauen. Dafür mache ich dann wieder einen neuen Thread auf.
Wenn ich die Prüfung bestehe würde ich euch ja glatt Einen ausgeben :D
 

Thaelisin

Mitglied
Ah, du hast vollkommen recht! Das ist mir gar nicht aufgefallen. Aber ich verstehe nicht wie die Sortierung von statten gehen soll. Im Internet stoße ich immer wieder auf Bubblesort, aber das kommt in meinem Skript nicht vor.
 

sheel

I love Asm
Naja ... nur einzelne Vergleiche werden nicht reichen. In dem Fall wirst du dich nicht auf den Skriptinhalt beschränken können (oder die Sortierung wird weggelassen...).

Bubblesort ist zwar kein wirklich effizienter Algo, aber einfach zu verstehen und programmieren...