Jump to content

MarcoPasta

Mitglieder
  • Gesamte Inhalte

    3
  • Benutzer seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

  1. Hi, ich habe ein Programm geschrieben, welches ein struct-array unsortiert und sortiert ausgeben kann. Nun möchte ich eine Funktion erfassen, welche die Buchstaben 'r' und 'n' in allen Strukturkomponenten vertauscht. Meine Funktion sieht bis jetzt so aus: void testmix(struct wochenkarte *plan, int menge,int arrSize){ for (int n = 0; n < menge; n++){ for (int i = 0; i < arrSize; i++){ if ((*(plan->speiseBez+i)) == 'r'){ (*(plan->speiseBez+i)) = 'n'; } else if ((*(plan->speiseBez+i)) == 'n'){ (*(plan->speiseBez+i)) = 'r'; } else if ((*(plan->speiseBez+i)) == 'P'){ (*(plan->speiseBez+i)) = 'K'; } else if ((*(plan->speiseBez+i)) == 'K'){ (*(plan->speiseBez+i)) = 'P'; } } } } n zählt die Anzahl der Elemente in meiner Struktur, i geht dann die einzelnen Stellen durch. Ist plan->speiseBez + i == 'r', so soll es mit einem n ersetzt werden. Das Programm funktioniert soweit einwandfrei, allerdings werden nur die Buchstaben in der ersten Strukturkomponente getauscht, aber der zweiten wird nicht mehr getauscht. Das heißt, meine Schleife geht nur bis zur ersten Stelle und kommt danach nicht zur zweiten. Liege ich da richtig?
  2. Hatte den Fehler gefunden gehabt, dass mit den Integer war nicht einmal das Problem, dass Problem war das ich mein Parameter init(myarray[1000], 100); eigentlich so hätte weitergeben müssen init(myarray, 100); Den Spoiler hatte ich auch nach Erfolgreichem kompilieren nicht geöffnet, bis mir irgendwann aufgefallen ist das direkt nach der ersten Ausgabe eine leerzeile erfolgt, habe dann den Spoiler geöffnet und habs sofort gecheckt.
  3. Code: #include <stdio.h> #include <stdlib.h> #include <time.h> void init(int intArr [], int arrSize){ int i; srand(time(NULL)); for (i = 0; i < arrSize; i++) { intArr[i] = rand() % 10000; } } void ausgabe(int intArr, int arrSize){ int i; for (i = 0; i < arrSize; i++) { printf("%5i\t", intArr); if (i == (i % 10 == 0)) printf("\n"); } } int main() { int myarray[1000] = {10, 20, 30, 44, 55, 100, 111, 1000}; init(myarray[1000], 100); ausgabe(myarray[1000], 100); return 0; } Hab die Vorlesung heute wegen ner miesen Krankheit verpasst und natürlich kommt alles neu dran, kann mir da jemand bei meinem Code helfen?

Fachinformatiker.de, 2019 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung