Goldrausch Geschrieben 17. Februar 2009 Teilen Geschrieben 17. Februar 2009 Hallo, zusammen benötige hilfe bei Folgender Aufgabe Erstellen Sie eine 4x4 Matrix und lesen Sie die Werte mit Hilfe einer Tastatur ein. Währe nett wenn Ihr mir bei dieser Aufgabe helfen könntet. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
VaNaTiC Geschrieben 17. Februar 2009 Teilen Geschrieben 17. Februar 2009 naja, ich glaube Dir fehlt der Bezug was eine 4x4 Matrix im Rechner ist Wenn man sich ganz pragmatisch vorstellt, dass das ein zweidimensionales Array ist, sollte es Dir jetzt einfacher fallen, eine Lösung zu implementieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goldrausch Geschrieben 17. Februar 2009 Autor Teilen Geschrieben 17. Februar 2009 erlich gesagt ich verstehe immer noch Bahnhof. Ich habe von Programieren überhaupt kein Ahnung und soll nähste woche eine Arbeit davon schreiben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 17. Februar 2009 Teilen Geschrieben 17. Februar 2009 Hmm, dann gibt es zwei Möglichkeiten: - Du hast nicht aufgepasst oder gelernt - Du bist im falschen Kurs Stell eines von beiden ab, dann sollte das klappen. Sollst Du den Algorithmus entwickeln, oder das ganze in einer Programmiersprache umsetzen? Was hast Du, was fehlt Dir konkret? Deine Hausaufgaben wird hier niemand machen. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goldrausch Geschrieben 17. Februar 2009 Autor Teilen Geschrieben 17. Februar 2009 Deine Hausaufgaben wird hier niemand machen währe schön wenn das so währe die Zeit mit den Hausaufgaben ist bei mir schon lange vorbei. Das ist eine Klausuraufgabe im meinem Elektrotechnik studium. Also es soll als Algorithmus dargestellt werden Folgendes habe ich schon weiss aber nicht ob das so richtig ist. Das währe dann die Matrix: [0][1][2][3] [4] [0] 1 2 3 4 5 [1] 6 7 8 9 10 [2] 11 12 13 14 15 [3] 16 17 18 19 20 [4] 21 22 23 24 25 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 17. Februar 2009 Teilen Geschrieben 17. Februar 2009 Das währe dann die Matrix: [0][1][2][3] [4] [0] 1 2 3 4 5 [1] 6 7 8 9 10 [2] 11 12 13 14 15 [3] 16 17 18 19 20 [4] 21 22 23 24 25Das ist eine 5x5-Matrix. Und ein Algorithmus ist es nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goldrausch Geschrieben 17. Februar 2009 Autor Teilen Geschrieben 17. Februar 2009 OK dann halt das ganze in Programmiersprache und hier die richtige Matrix [0][1][2][3] [0] 1 2 3 4 [1] 5 6 7 8 [2] 9 10 11 [3]12 13 14 und wie geht das mit den Wete einlesen ??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 17. Februar 2009 Teilen Geschrieben 17. Februar 2009 und wie geht das mit den Wete einlesen ???Naja, einen nach dem anderen. Vermutlich soll das auf eine verschachtelte Schleife hinauslaufen. Weißt du, was ein Algorithmus ist? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goldrausch Geschrieben 17. Februar 2009 Autor Teilen Geschrieben 17. Februar 2009 Naja, einen nach dem anderen. Vermutlich soll das auf eine verschachtelte Schleife hinauslaufen. Weißt du, was ein Algorithmus ist? Ich habe es eben nachgeguckt Ein Algorithmus ist eine Verarbeitungsvorschrift, die aus einer endlichen Folge von eindeutig ausführbaren Anweisungen besteht, mit der man eine Vielzahl gleichartiger Aufgaben lösen kann. Ein Algorithmus gibt an, wie Eingabegrößen schrittweise in Ausgabegrößen umgewandelt werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
VaNaTiC Geschrieben 17. Februar 2009 Teilen Geschrieben 17. Februar 2009 (bearbeitet) UI, um Dir da konkreter weiterhelfen zu können, wäre es gut zu wissen, ob Du als Ergebnis eine theoretische Beschreibung des Algorithmus (zbsp. Struktugramm) oder einen Quellcode liefern sollst. kingofbrain hats schon gefragt und ich glaube Klotzkopp meinte das mit seiner Frage was ein Algorithmus ist, aber ich frags nochmal anders denn vielleicht hab ich's auch nicht verstanden Bearbeitet 17. Februar 2009 von VaNaTiC Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goldrausch Geschrieben 17. Februar 2009 Autor Teilen Geschrieben 17. Februar 2009 Also als Struktugramm definitiv nicht. das Ergebniss soll als Quellcode dargestellt werden. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AndiE Geschrieben 17. Februar 2009 Teilen Geschrieben 17. Februar 2009 Hallo, ich denke, es geht deinem Lehrer/Prof nur darum, zu testen, ob du algorithmisch denken kannst. Wenn du "ET"-Vorkenntnise hast, dann weisst du, wie man Widerstandsnetzwerke analysiert. Das ist ein Algorithmus. LG André Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 18. Februar 2009 Teilen Geschrieben 18. Februar 2009 Naja, algorithmisches Denken ist eigentlich trivial, theoretisch muss man sich nur vorstellen, dass der Rechner dumm ist und ihm einfach jeden Schritt erklären, so wie man es selbst machen würde und dies dann in die jeweilige Syntax umsetzen. Pseudocode: Deklariere maxRow für maximale ZeilenanzahlDeklariere maxCol für maximale SpaltenanzahlDeklariere mehrdimensionales Feld (Array) mit maxRow und maxColFür currentRow = 0; currentRow < maxRow; increment currentRowFür currentCol = 0; currentCol < maxCol; increment currentColLese Feld[currentRow][currentCol] von Tastatur einEnde Schleife currentCol Ende Schleife currentRow :hells: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goldrausch Geschrieben 18. Februar 2009 Autor Teilen Geschrieben 18. Februar 2009 Ich habe hier eine ähnliche Aufgabe so sollte diese auch aussehen. 7.) Geben Sie im folgenden die jeweils erforderlichen Vereinbarungen / Anweisungen an: a.) Vereinbaren Sie einen Strukturtyp: lager und eine Strukturvariable: bestand des Typs lager mit den geeignet festzulegenden Komponenten: artikel, anzahl und preis. b.) Lesen Sie per Tastatur auf alle Komponenten Werte ein; dabei soll bei nicht erfolgreichem Lesen die jeweilige Eingabe des Wertes wiederholt werden! Lösung: a.) typedef struct {char artikel[20]; int anzahl; float preis;} lager; lager bestand; b.) int b; do { fflush (stdin); // Löschen Tastaturpuffer b = scanf("%s",bestand.artikel); } while (b == 0); do { fflush (stdin); // Löschen Tastaturpuffer b = scanf("%i",&bestand.anzahl); } while (b == 0); do { fflush (stdin); // Löschen Tastaturpuffer b = scanf("%f",&bestand.preis); } while (b == 0); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 19. Februar 2009 Teilen Geschrieben 19. Februar 2009 Ob Haus- oder Klausuraufgabe ist im Prinzip das selbe. Bei Studenten finde ich persönlich es ein wenig dreister, wenn nach einer Komplettlösung gefragt wird, weshalb Du hier voraussichtlich (von mir auf jeden Fall) keine Lösung kriegen wirst. Du hast in Deinem Beispiel ja schon gezeigt, dass Du (oder der Ersteller des Beispiels) weiß, wie Werte eingelesen werden. Jetzt überleg, was Du machen musst, damit Du die Werte für eine Matrix (Array von Arrays) erhältst (Stichwort Schleife). Und jetzt noch mal die Aufgabe an Dich: Arbeite an der Lösung und komm mit konkreten Problemen wieder. Deine skizzierte Matrix aus Deinem zweiten und dritten Post gilt nicht als Lösungsversuch. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 19. Februar 2009 Teilen Geschrieben 19. Februar 2009 Also als Struktugramm definitiv nicht. das Ergebniss soll als Quellcode dargestellt werden. In einer bestimmten Programmiersprache, oder als Pseudocode? Im ersteren Fall wärst du hier im falschen Forum. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 19. Februar 2009 Teilen Geschrieben 19. Februar 2009 In einer bestimmten Programmiersprache, oder als Pseudocode? Im ersteren Fall wärst du hier im falschen Forum. Der Post 18.02.2009, 21:04 sieht ein bisschen nach C aus. :beagolisc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goldrausch Geschrieben 21. Februar 2009 Autor Teilen Geschrieben 21. Februar 2009 Habe für die Aufgabe: Erstellen Sie eine 4x4 Matrix und lesen Sie die Werte mit Hilfe einer Tastatur ein. Was raus gefunden: [0][1][2][3] [0] 1 2 3 4 [1] 5 6 7 8 [2] 9 10 11 [3]12 13 14 int b; do { fflush (stdin); // Löschen Tastaturpuffer b = scanf("%s",Matrix); } while (b == 0); Kann das so sein ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 22. Februar 2009 Teilen Geschrieben 22. Februar 2009 Also mein C ist ein wenig eingerostet, deshalb ohne Gewähr: Du definierst eine Variable b, startest eine Schleife und liest in dieser Schleife so lange Werte aus der Standardeingabe in die Variable b, bis die Zahl "0" eingegeben wurde. Wo ist Deine Matrix? Und warum hörst Du beim ersten "0" auf? Wenn ich beim ersten Mal "0" eingebe, ist der Spaß vorbei. Definier also zu "b" noch Deine Matrix (int[][] matrix - evtl. musst Du die noch initialisieren, da kenne ich C zu schlecht) und lese die Werte in diese Matrix ein. Die einfache Schleife mit Deiner Abbruchbedingung hilft Dir da nicht. Du wirst vermutlich eine geschachtelte Schleife brauchen. In der ersten iterierst Du durch die Zeilen und in der zweiten durch die Spalten jeder Zeile. Dann sind Deine Abbruchbedingungen auch nicht die Eingabewerte, sondern die Länge der Arrays in Deiner Matrix. Hier mal ein bisschen Pseudocode: initialisiere Matrix und Eingabewert Variablen sowie Zählvariable für Spalte und Zeile (jeweils 0) Solange die aktuelle Zeile < der letzten Zeile in der Matrix ist Solange die aktuelle Spalte < der letzten Spalte in der Zeile ist Lies einen Wert ein und speichere ihn in der Matrix an der Stelle Zeile / Spalte Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 25. Februar 2009 Teilen Geschrieben 25. Februar 2009 Pseudocode: Deklariere maxRow für maximale ZeilenanzahlDeklariere maxCol für maximale SpaltenanzahlDeklariere mehrdimensionales Feld (Array) mit maxRow und maxColFür currentRow = 0; currentRow < maxRow; increment currentRowFür currentCol = 0; currentCol < maxCol; increment currentColLese Feld[currentRow][currentCol] von Tastatur einEnde Schleife currentCol Ende Schleife currentRow int maxRow = 4: int maxCol = 4; int matrix[maxRow][maxCol]; for (int currentRow = 0; currentRow < maxRow; ++currentRow) { for (int currentCol = 0; currentCol < maxCol; ++currentCol) { char *buffer = malloc(sizeof(char)); scanf("%s", buffer); matrix[currentRow][currentCol] = atoi(buffer); free(buffer); buffer = NULL; } } :hells: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goldrausch Geschrieben 26. Februar 2009 Autor Teilen Geschrieben 26. Februar 2009 habe im Internet etwas gefunden kann das so stimmen ?? Matrix: -------- -----[0][1][2][3] -----[0] 1 2 3 4 [Z]--[1] 5 6 7 8 -----[2] 9 10 11 -----[3]12 13 14 int z,s; for (Z=0; Z<4; Z++) for (S=0; S<4; S++) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 27. Februar 2009 Teilen Geschrieben 27. Februar 2009 habe im Internet etwas gefunden kann das so stimmen ??Ich finde es etwas verwunderlich, warum eine 4x4-Matrix nur 14 Einträge hat. Der gezeigte Code tut übrigens nichts. Ich glaube nicht, dass deine Strategie, irgendwelchen Code im Web zu suchen und dann hier zu fragen, ob das richtig ist, zielführend ist. Solche Aufgaben kann man üblicherweise nur lösen, wenn man über etwas verfügt, das im Fachjargon oft "Ahnung" genannt wird. Außerdem hat TDM dir bereits eine fast richtige Komplettlösung hingeklatscht - wenn es denn nun wirklich um C geht, denn meine Frage diesbezüglich hast du nicht beantwortet. Davon bin ich persönlich zwar nicht begeistert. Aber offenbar ist sie ja bei dir nicht angekommen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goldrausch Geschrieben 27. Februar 2009 Autor Teilen Geschrieben 27. Februar 2009 TDM hat die Frage doch schon beantwortet natürlich geht es um C Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 27. Februar 2009 Teilen Geschrieben 27. Februar 2009 TDM hat die Frage doch schon beantwortet natürlich geht es um CIch bin nicht davon ausgegangen, dass TDM an dich gestellte Fragen beantworten kann. Allerdings hatte ich vermutet, du hättest dir etwas dabei gedacht, als du diese Frage ins Algorithmik- und nicht ins C-Forum gestellt hast. Thread verschoben -> C und C++ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 27. Februar 2009 Teilen Geschrieben 27. Februar 2009 Ich finde es etwas verwunderlich, warum eine 4x4-Matrix nur 14 Einträge hat. Weil Zeile [2] und [3] nur 3 Einträge hat. A.d.R: Flüchtigkeitsfehler. Außerdem hat TDM dir bereits eine fast richtige Komplettlösung hingeklatscht Fast? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.