[gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
[gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Hoi Leute,
ich suche fuer C-Anfaenger eine interessante Aufgabenstellung, damit sie sich mit Pointern in C beschaeftigen. Von dynamischem Speicher (malloc) wissen sie noch nichts und das gienge mir auch zu weit. Ich stelle mir was auf Array-Basis vor. (Da kann noch nicht so viel schief gehen und man findet Fehler schneller.) Sie sollten halt statt Arrayzugriffen Zeiger verwenden.
Eine typische Aufgabe waere, die Stringfunktionen der Standardbibliothek nachzuprogrammieren. Aber das ist halt etwas oede.
Habt ihr vielleicht gute Ideen?
ich suche fuer C-Anfaenger eine interessante Aufgabenstellung, damit sie sich mit Pointern in C beschaeftigen. Von dynamischem Speicher (malloc) wissen sie noch nichts und das gienge mir auch zu weit. Ich stelle mir was auf Array-Basis vor. (Da kann noch nicht so viel schief gehen und man findet Fehler schneller.) Sie sollten halt statt Arrayzugriffen Zeiger verwenden.
Eine typische Aufgabe waere, die Stringfunktionen der Standardbibliothek nachzuprogrammieren. Aber das ist halt etwas oede.
Habt ihr vielleicht gute Ideen?
Use ed once in a while!
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Wie wärs mit ein paar Sortieralgorithmen?
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Ist leider auch nicht spannender, IMO.TRex hat geschrieben:Wie wärs mit ein paar Sortieralgorithmen?
Zudem halte ich persoenlich wenig davon mehrere von denen zu kennen. Normalerweise nimmt man in C qsort() mit einen Funktionszeiger und muss sich nicht darum kuemmen. (Funktionszeiger sind momentan hier noch zu kompliziert.) Und fuer (fast) alles andere eignet sich Bubblesort.
Nichts desto trotz: Danke fuer den Vorschlag.
Use ed once in a while!
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Also ein http://de.wikipedia.org/wiki/B-Baum welcher ja auch eine Art von Sortierung ist finde ich schon interessant.
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Wenn ich dran denke schau ich zu Hause mal nach Übungsaufgaben. Könnte da noch was haben.
Debian Testing + Gnome | Linux-Anfänger seit 04/2003
http://files.mdosch.de/2014-07/0xE13D657D.asc
http://files.mdosch.de/2014-07/0xE13D657D.asc
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Uns wurde damals ein AVL-Baum aufgetragen (grad in den alten Übungsblättern nachgesehen). Das setzt aber schon Vorwissen vorraus
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Windows ist doof, Linux funktioniert nicht • Don't break debian! • Wie man widerspricht
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Auf Palindrome (OTTO) prüfen kann man mit Pointern machen.
Jetzt auch nicht so spannend, hat mir aber damals Spaß gemacht.
Jetzt auch nicht so spannend, hat mir aber damals Spaß gemacht.
-
- Beiträge: 1213
- Registriert: 09.11.2007 13:25:57
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
IMO erklären Listen und Bäume Zeiger ganz gut. Am Array kann man wiederum gut aufzeigen das man mit Zeigern auch Rechnen, inkrementieren, usw. kann. Was bei Ketten und Bäume schwierig sein sollte.
Vllt eine "binäre Suche" auf dem Array - Fände ich jetzt nicht unbedingt langweilig. Gerade wenn man das Prinzip so zu suchen vorher noch nicht kannte (http://www-i1.informatik.rwth-aachen.de ... /algo1.php).
Vllt eine "binäre Suche" auf dem Array - Fände ich jetzt nicht unbedingt langweilig. Gerade wenn man das Prinzip so zu suchen vorher noch nicht kannte (http://www-i1.informatik.rwth-aachen.de ... /algo1.php).
Auch gut.crhn hat geschrieben:Auf Palindrome (OTTO) prüfen kann man mit Pointern machen.
- bmario
- Beiträge: 1257
- Registriert: 05.09.2007 12:15:47
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dresden
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Zahlenraten mt Löwensuche.
Nichts zu tun ist viel besser,
als mit viel Mühe nichts zu schaffen. - Laotse
als mit viel Mühe nichts zu schaffen. - Laotse
-
- Beiträge: 124
- Registriert: 22.10.2010 22:20:42
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Gießen
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Hallo Meillo,
evtl. ist hier was dabei.
http://c.learncodethehardway.org/book/
Habe die Aufgaben selber nicht gemacht, deshalb kann ich nicht sagen ob sie wirklich spannend sind,
aber einen Blick sind sie bestimmt Wert
Grüße
Dot
evtl. ist hier was dabei.
http://c.learncodethehardway.org/book/
Habe die Aufgaben selber nicht gemacht, deshalb kann ich nicht sagen ob sie wirklich spannend sind,
aber einen Blick sind sie bestimmt Wert
Grüße
Dot
Notebook: Debian Wheezy / i3-WM
"Höflichkeit ist Klugheit, folglich ist Unhöflichkeit Dummheit." (Arthur Schopenhauer)
"Höflichkeit ist Klugheit, folglich ist Unhöflichkeit Dummheit." (Arthur Schopenhauer)
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Danke fuer die vielen Vorschlaege.
Wenn wir bei verketteten Datenstrukturen und dynamischem Speicher sind, dann steht eine ganze Welt von interessanten Aufgaben offen.
Hmm. Momentan sind verzeigerte Datenstrukturen (die man ueblicherweise auch mit malloc() anlegt) noch unbekannt. Es geht um die Vorstufe: Zeiger schon, aber nicht zum Verketten von Objekten.uname hat geschrieben:Also ein http://de.wikipedia.org/wiki/B-Baum welcher ja auch eine Art von Sortierung ist finde ich schon interessant.
Wenn wir bei verketteten Datenstrukturen und dynamischem Speicher sind, dann steht eine ganze Welt von interessanten Aufgaben offen.
Das hoert sich nicht schlecht an.crhn hat geschrieben:Auf Palindrome (OTTO) prüfen kann man mit Pointern machen.
Jetzt auch nicht so spannend, hat mir aber damals Spaß gemacht.
Was bitte ist denn die Loewensuche? Mir scheint, da lerne ich auch noch was Neues.bmario hat geschrieben:Zahlenraten mt Löwensuche.
Ach, das gibt's auch fuer C. Ich kenne ``Programming the Hard Way'' und fand das inspirativ. Danke fuer den Tipp. Ich werd's mir anschauen.Dot hat geschrieben: evtl. ist hier was dabei.
http://c.learncodethehardway.org/book/
Habe die Aufgaben selber nicht gemacht, deshalb kann ich nicht sagen ob sie wirklich spannend sind,
aber einen Blick sind sie bestimmt Wert
Use ed once in a while!
- bmario
- Beiträge: 1257
- Registriert: 05.09.2007 12:15:47
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dresden
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Kennst du sicher, nur nicht unter diesem Namen.Meillo hat geschrieben:Was bitte ist denn die Loewensuche? Mir scheint, da lerne ich auch noch was Neues.bmario hat geschrieben:Zahlenraten mt Löwensuche.
Prinzip:
Code: Alles auswählen
#define SIZE 10
int data[size];
int* lower,upper;
for(int i=0;i<SIZE; i++)
{
data[i] = i;
}
printf("Denke dir eine Zahl zwischen 0 und %d\n", SIZE-1);
while(1)
{
int distance = upper - lower;
int tipp = (lower + distance / 2);
printf("Ist die Zahl etwa %d?\n", tipp
// Lese ein, ob Zahl größer kleiner oder gleich
// verschiebe upper bzw. lower
//...
}
*edit:
Als Löwensuche kenne ich das aus der Mathematik.
"Wie findet man einen Löwen in der Wüste?"
"Man halbiert die Wüste und entweder der Löwe ist in der einen oder der anderen Hälfte. Man halbiere nun die Hälfte, in der sich der Löwe befindet. Nun befindet sich der Löwe in der einen Hälfte oder in der anderen Hälfte...."
Mathematisch gesehen ist das eine konvergente Intervalschachtelung.
Nichts zu tun ist viel besser,
als mit viel Mühe nichts zu schaffen. - Laotse
als mit viel Mühe nichts zu schaffen. - Laotse
Re: [gesucht] Nette kleine Uebungsaufgabe fuer Pointer in C
Aha: Binaere Suche.bmario hat geschrieben: "Wie findet man einen Löwen in der Wüste?"
"Man halbiert die Wüste und entweder der Löwe ist in der einen oder der anderen Hälfte. Man halbiere nun die Hälfte, in der sich der Löwe befindet. Nun befindet sich der Löwe in der einen Hälfte oder in der anderen Hälfte...."
Use ed once in a while!