• Keine Ergebnisse gefunden

Aufgabe2(SiebdesEratosthenes, 8Punkte ) Aufgabe1(ArraySortierung, 5Punkte ) Abgabevom14.12.2005bis20.12.2005inderangemeldeten¨Ubung ¨UbungenzuGrundlagenderProgrammierunginC-BlattVI

N/A
N/A
Protected

Academic year: 2021

Aktie "Aufgabe2(SiebdesEratosthenes, 8Punkte ) Aufgabe1(ArraySortierung, 5Punkte ) Abgabevom14.12.2005bis20.12.2005inderangemeldeten¨Ubung ¨UbungenzuGrundlagenderProgrammierunginC-BlattVI"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. G. Zachmann

Dipl.-Inf. C. Giesemann

TU Clausthal Institut f¨ur Informatik

8. Dezember 2005

Wintersemester 2005/2006

Ubungen zu Grundlagen der Programmierung in C - Blatt VI ¨

Abgabe vom 14.12.2005 bis 20.12.2005 in der angemeldeten ¨ Ubung

Aufgabe 1 (Array Sortierung, 5 Punkte)

Hinweise:

Durchlaufe das Array immer wieder und vertausche wenn n¨otig benachbarte Elemente.

Ist in einem Durchlauf kein Austausch mehr erforderlich, ist das Array sortiert.

1. Schreiben Sie ein Programm, das 10integerZahlen in einarrayeinliest und es in aufsteigender Reihenfolge sortiert. Geben Sie danach das sortierte Feld mit der gr¨oßten Zahl beginnend aus.

Aufgabe 2 (Sieb des Eratosthenes, 8 Punkte )

Hinweise:

Das Sieb des Eratosthenes beschreibt ein seit ¨uber 2000 Jahren bekanntes einfaches Verfahren, um alle Primzahlen im Bereich von1bis zu einem bestimmten Wertnzu ermitteln. Man legt ein n-Elemente großes Array an und initialisiert es mit wahr , was bedeutet die zum Element geh¨orige Zahl k¨onnte eine Primzahl sein. Danach durchl¨auft man das Array und setzt alle Produkte (nicht Primzahlen) auf falschund kennzeichnet sie damit als nicht Primzahlen.

Das Verfahren l¨aßt sich folgendermaßen beschreiben:

• Erstellen Sie ein boole’sches Array mit n Elementen. Den Elementen sind die Zahlen 1 bis n zugeordnet. Initialisieren Sie alle Elemente mittrue .

• Andern Sie das erste Element mit Index 0, dem die¨ 1 zugeordnet ist, auf false, da 1 keine Primzahl ist.

• Nun f¨uhren Sie in einer Schleife folgende Schritte aus:

– Suchen Sie das n¨achste Element, dessen Wert true ist und setzen Sie alle Produkte gr¨oßer der Zahl selbst, in denen diese Zahl vorkommt auf false.

Es beginnt bei 2 (Index 1) mit : 2∗2, 2∗3, ... , 2∗x , man kann aufh¨oren, wenn 2∗x>n ist.

Dann folgt 3 (Index 2) mit : 3∗2, 3∗ 3, ... , 3∗ x , wobei 3∗ x>n ist.

5 ... 7 ...

Falls kein weiteres Element diese Bedingung (true) erf¨ullt, beenden Sie die Schleife.

– Geben Sie nun alle Zahlen aus, diearray-Elementen zugeordnet sind, deren Wert true ist.

Es sind die Primzahlen im Bereich von1bis n.

1. Schreiben Sie ein Programm, das das “Sieb des Eratosthenes” realisiert und geben Sie auf diese Weise alle Primzahlen zwischen 1 und 1000 aus.

1

(2)

Aufgabe 3 (Determinante, 6 Punkte)

1. Schreiben Sie ein Programm, das eine 3 x 3 Matrix einliest, diese in einem 2-dimensionalenarray speichert und die zugeh¨orige Determinante berechnet. Anschließend soll sowohl die Matrix als auch ihre Determinante, ¨ahnlich wie in diesem Beispiel, ausgegeben werden:

Matrix A = 2 12 5 11 7 9 6 4 3 det(A) = 232

Aufgabe 4 (Stringvergleich, 4 Punkte )

Hinweise:

Die Strings sollen maximal 60 Zeichen lang sein.

Benutzen Sie auch hier wiedergets()zum Einlesen von Strings.

Ignorieren Sie ebenfalls wieder die Warnung des Compilers zugets, falls dieser eine ausgibt.

Alle anderen Warnungen sollen jedoch beachtet werden.

1. Schreiben Sie ein Programm, das zwei Strings einliest und diese zeichenweise auf Gleichheit ¨uber- pr¨uft. Geben Sie das Ergebnis des Vergleichs (gleich oder ungleich) aus.

Achtung: Die Aufgabe soll ohne Verwendung der in string.h deklarierten Funktionen gel¨ost werden!

2

Referenzen

ÄHNLICHE DOKUMENTE

Lesen Sie sich die Man-Page zu ls durch und geben Sie den Befehl an, mit dem der Inhalt des Verzeichnisses /usr/bin aufsteigend der Gr¨ oße nach sortiert aufgelistet wird (also mit

¨ Andern Sie jetzt das Programm so ab, daß es statt World Ihre Namen nach Hello ausgibt.. Spei- chern Sie dieses Programm als hello2.cpp und ¨ ubersetzen Sie es

Schreiben Sie ein Programm, das zwei integer Zahlen einliest und entsprechend der Werte die beiden boolean Variablen x und y auf true oder false setzt. Dabei soll die Eingabe einer

Das Programm soll ¨ uberpr¨ ufen, ob der Wert zul¨ assig ist und dann den Benutzer nacheinander auffordern, was er als n¨ achstes eingeben soll. Nach dem letzten Eintrag soll der

Verwenden Sie eine Funktion f¨ ur die Umwandlung der Buchstaben, welche einen Buchstaben und den Verschiebewert k als Parameter erh¨ alt und den verschl¨ usselten Buchstaben als

Schreiben Sie ein Programm, das ein Labyrinth als array ([y Dimension][x Dimension]) nach Bild A enth¨ alt und eine Funktion druckeLabyrinth benutzt, um das Labyrinth auf dem

Schreiben Sie eine Funktion, welche eine Person (oder alternativ einen Pointer auf eine Person) als Parameter erh¨ alt und f¨ ur diese Person folgende Daten ausgibt:. •

Sobald eine negative Zahl eingelesen wurde, soll die Konstruktion der Liste abgebrochen und der Inhalt der Liste dann zuerst mittels der Funktion printList () wieder ausgegeben