Hallo, ich sitze vor folgender Aufgabe: Schreiben Sie ein Programm, das eine Tabelle erzeugt, in der vorne die Zahl n steht und hinten die Liste aller Teiler von n. die Tabelle soll für die Zahlen von 2 bis 100 erstellt werden. Die Programmiersprache ist C
:
Gesperrt durch Moderator
Kann mir Jemand dabei weiter helfen, wie man so eine Tabell erzeugt?
Teilaufgabe 1: Eine Funktion entwerfen die alle Teiler einer Zahl berechnet und z.B. mal in ein Array schreibt. -> Einfach nachdenken wie denn so ein Algorithmus aussehen kann Teilaufgabe 2: Wie schreibt man Daten in eine Datei. Soll das ganze dann in einer Tabellenkalkulation zu öffnen sein kannst du noch Trennzeichen einfügen. -> Findest du im C Buch deines Vertrauens.
Dann noch die Frage: Hat Das Was mit Mikrocontrollern oder Elektronik zu tun ? (Kleiner Tipp: Das Codingboard im Internet ist ein Forum / Seite, die sich nur mit so Problemen beschäftigt.)
Michael Rathmair schrieb: > Teilaufgabe 1: > Eine Funktion entwerfen die alle Teiler einer Zahl berechnet und z.B. > mal in ein Array schreibt. Array ist Overkill > Teilaufgabe 2: > Wie schreibt man Daten in eine Datei. Von einer Datei ist nicht die Rede in der Aufgabenstellung, nur in der Überschrift. Und wenn ich mir den Schwierigkeitsgrad der Aufgabenstellung ansehe, wohl auch nicht so vom Lehrer angedacht. Obwohl: jetzt ist eigentlich gar nicht die Jahreszeit für Hausübungen der ersten Unterrichtsstunde. Hmm.
Jeronimo schrieb: > Kann mir Jemand dabei weiter helfen, wie man so eine Tabell erzeugt? Mit einer Schleife und entsprechenden Ausgabeanweisungen bei jedem Schleifendurchlauf.
1 | #include <stdio.h> |
2 | |
3 | int main() |
4 | {
|
5 | int i; |
6 | |
7 | for( i = 0; i < 100; i++ ) |
8 | {
|
9 | printf( "%d : %d\n", i, i * i ); |
10 | }
|
11 | }
|
erzeugt eine Tabelle aller Zahlen von 0 bis 100 und den jeweiligen Quadraten dieser Zahlen. Jetzt bist du drann. Wie kannst du von einer Zahl feststellen, welche Teiler sie hat. Hinweis: Denk nicht zu kompliziert. Wenn Computer etwas gut können, dann ist das schnell rechnen. Man kann also zb einfacch ausprobieren ob 7 ein Teiler von 23 ist, indem man einfach 23 durch 7 dividiert und wenn bei der Division kein Rest bleibt, dann teilt es.
Jeronimo schrieb: > Kann mir Jemand dabei weiter helfen, wie man so eine Tabell erzeugt? TabellenTyp tabelle; fill(tabelle); printTable(tabelle);
Stimmt - zuerst lesen dann denken dann schreiben. for (i:=2 bis 100) for (j:=2 bis i) if(i mod j=0) print(i)
Wenn schon, dann Hälfte. Aber verwirr ihn nicht mit mathematischen Spitzfindigkeiten :-)