Müsste ich hier zwei Schleifen erstellen?
for (i = 0; i< 6; i++);
for (j = 0; j<6; j++);
Könnte bitte jemand eine Lösungsvariante mir zeigen
matrix [6][5] = {0};
Puhh die Aufgabe ist so trivial, wenn du dafür SELBER keine Lösung
findest, kannst du die Prüfung gleich abmelden. Die anderen Aufgaben
können kaum leichter sein.
STM32 User schrieb im Beitrag #7130591:
> Puhh die Aufgabe ist so trivial, wenn du dafür SELBER keine Lösung> findest, kannst du die Prüfung gleich abmelden.
Nicht nur die Prüfung. Auch die Abendschule/Weiterbildung oder was auch
immer das sein soll.
So ein Kurs startet ja nicht mit einer Prüfung, sondert endet nach
X-Zeit mit einer Prüfung. Von Start der Veranstaltung bis zum Start der
Prüfung wurde sicherlich einiges zu diesem Themengebiet durchgekaut.
Wenn es dann an solchen Basics scheitert, dann wird's mit dem Rest auch
nichts mehr.
Die Wirtschaft benötigt auch Hilfskräfte für einfache Tätigkeiten, wenn
auch immer weniger. Spargel müssen z.B. immer noch von Hand geerntet
werden. Auch die Post hat Personalmangel.
Nathan G. schrieb:> Könnte bitte jemand eine Lösungsvariante mir zeigen
Welch komplexe Aufgabenstellung. Hoffen wir mal das die Prüfung nicht
schon morgen ist, sonst wird das nix.
Eine von vielen Lösungsmöglichkeiten, was auch immer die
Aufgabenstellung mit "muss durch eine Formel berechnet werden" meint. Um
mir da weiter gedanken zu machen ist es eindeutig zu spät.
Kommentare lass ich mal weg, Code ist Doku und so 👍
Ja, da kam mir Kevin M. verdankenswerterweise zuvor; mein
Lösungsvorschlag war weit weniger diszipliniert strukturiert.
Unter prophylaktischer Vorwegnahme des zu erwartenden, vernichtenden
Schlundes wie hier üblich erfahrungsgemäss destruktiver Kritik
folgt der etwas kommentierte Ansatz.
1
/* Welche Sprache denn. */
2
3
#include<stdio.h>
4
5
/* g++ -g ng.cpp -o ng ; ./ng ; rm ng # *//* <-- Dies war zwecks
6
Reproduzierbarkeit notiert worden, um zu verifizieren,
7
ob denn das "Programm" auch funktioniert. */
8
9
#define NUM_ROWS 15 /* Verwendung von "macros" ist
10
nebenbei bemerkt ausserst uebel;
11
besser ist der Einsaz anderer
12
Hochsprachen, wie z. B.
13
Java oder so. */
14
#define NUM_COLS NUM_ROWS /* Falls noch nicht erwaehnt:
15
nicht guter style. */
16
17
18
intmain(intargc,charconst*argv[])/* mit nichtsnutzigen
19
Kommentaren */
20
{intern=0;
21
22
chararr[NUM_ROWS][NUM_COLS];/* Dies ist die Deklaration
23
des geforderten Quadrates
24
fuer die Zeichen
25
(; noch uninitialisiert). */
26
27
/* Hier zunaechst eine "2 fach for loop"
28
welche das zuvor deklarierte Quadrat wie erwuenscht belegen soll. */
29
for(introw=0;NUM_ROWS>row;++row){
30
intcol_r=NUM_COLS;/* Index zu Spalte rechts */
31
for(intcol_l=0;NUM_COLS>col_l;++col_l){
32
--col_r;
33
/* Die "Formel", worauf in Anmerkung #6
34
hingewiesen wurde.
35
Es wird ja eine "Formel" verlangt. */
36
arr[row][col_l]=(row==col_l)||(row==col_r)
37
?'O'
38
:'.';
39
/* Hier oben der beruechtigte "ternary operator"
40
in C language.
41
Sehr Uebel!
42
Davon sei insdringlich abzuraten,
43
liest man gerne von Puristen
44
(weiss auch nicht weshalb). */
45
}/* col_l */
46
}/* row */
47
48
/* Hernach folgt eine weitere verschachtelte Iteration,
49
welche die zuvor fleissig erarbeiteten Zeichen
50
zwecks Belustigung des Publikums ausgeben sollte. */
51
for(introw=0;NUM_ROWS>row;++row){
52
for(intcol=0;NUM_COLS>col;++col){
53
/* Gib das Zeichen aus! */
54
(void)fprintf(stdout,"%c",arr[row][col]);
55
}/* col */
56
/* ... und schreibe auch noch ein Zeilen -Ende dazu hin! */
57
(void)fprintf(stdout,"\n");
58
}/* row */
59
60
/* (void) fprintf (stdout, "-\n"); */
61
62
returnern;
63
}/* main */
... und es läuft
Welche Gründe gibt es, jemanden ins Lächerliche ziehen zu wollen, wer
sich für "Iteration" interessiert {, oder möglicherweise danach auch für
"Rekursion"}?
& ich werde an Folge -Diskussionen nicht teilnehmen
& ich sollte mich nicht darüber lustig machen, wenn jemand versucht,
sich solche Konzepte anzueignen.
> ich sollte mich nicht darüber lustig machen
Allein schon der Gebrauch des Verbs "erstellen" im Zusammenhang
mit einer Matrix ist spachlicher Unfug.
Wenn der Inhalt dieser Matrix ein System beschreibt, muss eben
nichts "erstellen".
BWLer erstellen (nicht funktionierende) Plaene...
Markdown schrieb:> Nathan G. schrieb:>> Mehrdimensionale Matrix>> das ist keine mehrdimensionale Matrix. Das ist einfach eine Matrix.
Hi könntest du mir einen Lösungsvorschlag zu senden?
Nathan G. schrieb:> Guten Tag,> wäre jemand bereits seinen Lösungsweg mit mir zu teilen?
Ich habe mangels Veranlassung keinen Lösungsweg.
Nathan G. schrieb:> Wie genau würde ich eine mask erstellen?
Das kommt auf Deine Sorgfalt an.
Nathan G. schrieb:> Guten Tag könnten mir bitte jemand bei der Aufgabe, helfen
Nathan, weil das hier nicht "Frag Mutti" auch auch nicht die "kostenlose
Prüfungshilfe" ist, machen wir das jetzt so: du fängst mit der
jeweiligen Aufgabe an und wenn du dann konkrete Probleme hat, dann
fragst du, was du denn besser oder anders machen könntest.
Das Thema ist alt, es wurde schon Generationen von Internetnutzern vor
dir diskutiert. z.B. dort im
Beitrag "Einheitlicher Umgang mit faulen Schülern etc.?"
Summa summarum: wenn dir diese Kinderkram-Aufgaben zu kompliziert sind,
dann könnte es sein, dass du im nächsten Semester besser was etwas
machst, das sich mit deinen Fähigkeiten besser überdeckt. Denn das wird
in der Zukunft nicht einfacher.
BTW: Screenshots bitte als PNG, nicht als JPEG-Pixelbrei!
Guten Tag,
wenn ich die int matrix_31[10][10] hochzählen möchte,
int matrix_31[10][10]={0};
Müsste ich hierbei mehrere For Loops erstellen, denn besser gesagt darf
ich keine Wert vorher definieren?
i=Zeile;
j=Spalte;
1
fori=0;i<3;i++
2
printf("%d/n",i);
3
4
forj=0;j<5;j++
5
printf("%d/n",j);
oder lieber so
Beispiel Matrix-Transposition:
1
#define N 10
2
floatmatrix[N][N];
3
floatt;
4
intzeile,spalte;
5
// Eingabe Matrix
6
// …
7
for(zeile=0;zeile<N;zeile++)
8
{for(spalte=zeile+1;spalte<N;spalte++)
9
{// Tausch matrix[zeile][spalte] mit matrix[zeile_neu][spalte_neu]
10
// wobei zeile_neu = spalte und spalte_neu = zeile
Wow
und das von einen Moderator....
Ja "dank" der dauernden Wiederholung der Frage ist von einen Troll
auszugehen.
Aber:
Ein Forum funktioniert anders - es lesen auch viele nur mit oder werden
durch Suchmaschinen zu Foren und ähnliche Dienste (ja Dienste zwar
unentgeltlich und auf beiden Seiten freiwillig, niemand muss Antworten
wenn er den TO nicht mag bzw. dessen Einstellung missfällt) geleitet.
Insbesondere im deutschsprachigen Raum in diesen Themengebiet oft halt
zu diesen Forum hier.
Das sollte an erster Stelle ein Moderator wissen...
Und so außergewöhnlich ist die Frage dann auch nicht, es gibt sicherlich
viele Leute die mit sehr ähnlichen Aufgaben ihre Probleme haben, bzw. wo
Autodidakten gerne auch noch mal eine dritte und vierte Erklärung mit
einen echten Beispiel (Code) gebrauchen können.
Die nicht "technischen" Hintergründe der Frage sind total uninteressant
und gehen keinen was an.
Da hat der Troll (hat sich durch dauernde Wiederholung eines Fragenteils
vertraten - oder geschah das sogar Vorsätzlich um einen auf Till
Eulenspiegel zu machen? - Dann mein Daumen hoch -gut gemacht denn genau
so haben die kleinkarierten Bürger in den Eulenspiegelerzählungen auch
reagiert - und die Erzählungen sind ja nicht von Himmel gefallen sondern
basieren immer auf die Realität) aber genau erkannt wie viele hier im
Forum ticken und das man sie immer mit den gleichen Tricks triggern kann
- sogar einen Moderator-das war es für ihn also sehr einfach.
Ist es denn so schwer einfach auf Fragen von "Schülern" aber auch
"Fahrzeug Tunern" "E-Installationslaien" usw. einfach nur den Inhalt
betreffend zu Antworten?
Wie der "Schüler", Tuner, E-Intallationslaie diese Antworten dann nutzt
und sich über kurz oder Lang vielleicht in die Sackgasse manövriert oder
Ärger einhandelt ist doch ganz alleine seine Sache...
Ich finde, der Moderator hat richtig reagiert. Es ist doch ein
Unterschied, ob ein Laie hier bei einer Reparatur Hilfe benötigt, oder
ob ein Schüler/Student sich durch eine Prüfung mogeln will.
Mutti schrieb:> ein Schüler/Student sich durch eine Prüfung mogeln will
Ja, sieht wirklich so aus. Am Anfang die Übungsaufgaben vom 10.2. und
dann die Screenshots von heute.
Da kann man echt nicht mehr helfen, wenn so wenig Grundlagen vorhanden
sind.
Nathan G. schrieb:> Matrix_zeilenweise_und_spaltenweise_hochzaehlen.jpg
Na toll, nach Pixelbrei jetzt Londoner Nebel. IT-ler mit Medienbruch, so
wird das nichts.
Forennutzer schrieb:> .....
Viele Worte....
Aber kein einziges dazu, wie der TO sein Problem lösen kann.
Du wirst also deinen eigenen Ansprüchen nicht gerecht.
Aber so sind sie halt, hier, die Großspurigen.
heinz schrieb:> Ja, sieht wirklich so aus. Am Anfang die Übungsaufgaben vom 10.2. und> dann die Screenshots von heute.
Die waren vom letzten Jahr.
Ich denke selbst heute dürfte es nicht erlaubt sein während einer
Prüfung im Internet zu surfen.
Xeraniad X. schrieb:> char arr [NUM_ROWS] [NUM_COLS]; /* Dies ist die Deklaration> des geforderten Quadrates> fuer die Zeichen> (; noch uninitialisiert). */
Das ist sogar die Definition (mit impliziter Deklaration)
Mit einem extern davor wäre es nur die Deklaration.
Nathan G. schrieb:> Guten Tag,>> wenn ich eine Matrix erstelle und die zwei>>> for i=0; i<9; i++;>> Müsste ich hierbei noch eine Funktion definieren?> for i=0; i<9; i++
Hätte dazu jemand einen Lösungsvorschlag?
Forennutzer schrieb:> Wow und das von einen Moderator....
Das hat mit "Moderator" nichts zu tun. Es ist die schlichte und einfache
Wahrheit. Oder dürfen Moderatoren nur weichgespülte und gleichgetaktete
Meinungen haben? Muss ich evtl. sogar korrekt gendern, damit ich keinem
auf den Schlips oder die langen Fingernägel trete?
> Aber: Ein Forum funktioniert anders
Es funktioniert genau dann am Besten, wenn es zwischen dem TO und den
anderen Teilnehmern eine Interaktion gibt und man gmeinsam auf
Fortschritte aus ist. Die, die da zu helfen gewillt sind, lernen ja auch
etwas dabei.
> Ist es denn so schwer einfach auf Fragen von "Schülern" aber auch> "Fahrzeug Tunern" "E-Installationslaien" usw. einfach nur den Inhalt> betreffend zu Antworten?
Schüler sind grundsätzlich unterschiedlich zu den anderen beiden
Personengruppen. Denn die sollten ja was dabei lernen. Und dann bringt
es halt schon mal überhaupt nichts, wenn man da einfach eine fertige
Lösung postet. Denn die kapiert der Schüler ja mangels elementarster
Grundlagen auch nicht.
> Das sollte an erster Stelle ein Moderator wissen...
Mir reicht, was ich weiß.
Nathan G. schrieb:> Nathan G. schrieb:>> Müsste ich hierbei noch eine Funktion definieren?> Hätte dazu jemand einen Lösungsvorschlag?
Das geht ganz einfach auch ohne jegliche Funktion im Hauptprogramm. Als
Denkanstoß die erste Teilaufgabe siehe dort (und im Anhang):
https://onlinegdb.com/riWXeStud
Mario M. schrieb:> Nathan G. schrieb:>> Matrix_zeilenweise_und_spaltenweise_hochzaehlen.jpg>> Na toll, nach Pixelbrei jetzt Londoner Nebel. IT-ler mit Medienbruch, so> wird das nichts.
Wenn denn ein Bild (egal ob xx kB PNG oder xxx kB JPEG) auch mehr
hergeben würde, bei einem AufgabenTEXT von <x kB.
Das übungsprogrämmchen selbst produziert ebenfalls nur TEXT, keine
Grafik...
Nathan G. schrieb:> Nathan G. schrieb:>> Müsste ich hierbei noch eine Funktion definieren?>> for i=0; i<9; i++>> Hätte dazu jemand einen Lösungsvorschlag?
Muss nicht, aber kann: WENN der Einsatz von Funktionen einem Zweck
dient.
Erstens: Nennst Du diesen Zweck/Absicht, kennst Du die Antwort selbst.
Zweitens: Entwirf dann mal eine Funktion und zeige sie uns.
Drittens: danach bekommst Unterstützung darin, die Funktion auch zum
funktionieren zu bringen; resp. Manöverkritik diese dann zu verbessern
den Zweck/Absicht zu erreichen/erfüllen.
Nathan G. schrieb:> Müsste ich hier zwei Schleifen erstellen?> for (i = 0; i< 6; i++);> for (j = 0; j<6; j++);
Nichtmal zwingend: eine Schlaufe "bis zur Hälfte" genügt auch denn das
geforderte "Kreuzmuster" ist sowohl horizontal wie vertikal symmetrisch.
1
for(intk=0;k<(6/2);k++){
2
intx,y;
3
4
/* 1. Quadrant */
5
x=...+k;
6
y=...+k;
7
mx[x][y]='O';
8
9
/* 2. Quadrant */
10
x=...+k;
11
y=...-k;
12
mx[x][y]='O';
13
14
/* 3. Quadrant */
15
x=...
16
:
17
18
/* 4. Quadrant */
19
:
20
21
}
Voraussetzung ist natürlich die Befüllung der gesamten Matrix mit dem
"Hintergrundzeichen" '.' z.B. mittels memset(); - die Schlaufe "bis zur
Hälfte" entspr. nur zum setzen des "Vordergrundzeichens" 'O'.
Quadrantenbezeichnung und Sonderfallbetrachtung bei Ungeraden
Matrixgrösse überlassen wir den Programmierstudenten und den ewigen
Elfenbeiturmbewohnern.