Sie sind auf Seite 1von 2

HS Koblenz – Prof. W.

Kiess INGIC-Übungen WS2018

Übung 07: Schleifen und Arrays

ACHTUNG: Dieses Übungsblatt geht in die Wertung für die Zulassung zum Testat ein. Hierzu
muss die Lösung in OLAT bis Dienstag 27.11.2018, 23:59 abgegeben sein.
Es gilt: Lösen Sie die Aufgaben in einem einzigen C-Programm und markieren Sie die
Aufgaben durch Kommentare. Geben Sie Ihren Namen und Matrikelnummer (bzw. Name und
Matrikelnummer aller Mitglieder Ihrer Arbeitsgruppe) als Quelltextkommentar an.
Ein nicht kompilierbares Programm wird mit „nicht bestanden“ bewertet.

1. Lesen Sie eine Zahl ein (z.B. 200) und bestimmen Sie die Primfaktorzerlegung dieser Zahl
(z.B.: 200 = 2*2*2*5*5). Geben Sie die einzelnen Primfaktoren wie gezeigt aus.

2. Legen Sie ein Array für 5 int-Zahlen an. Füllen Sie dieses Array mit 5 Zahlen welche Sie
von der Kommandozeile einlesen. Geben Sie anschließend diese Zahlen in umgekehrter
Reihenfolge aus (die letzte Zahl im Array soll zuerst ausgegeben werden).

3. Es sei folgendes Quellcodefragment gegeben:


#define SIZE 15
int main(void) {
int zahlen[SIZE];
...
Füllen Sie das Array zahlen mit den Werten 1-15 (bzw. 1-SIZE). Ihr Programm muss
so gestaltet sein das es immer noch funktioniert wenn der Parameter SIZE geändert wird.
Bestimmen Sie den Mittelwert, das Maximum und das Minimum dieser Zahlen und geben
Sie diese auf der Konsole aus.

4. Gegeben ist folgendes Array mit sortieren Zahlen (wir nehmen an es handelt sich um die
Tages-Schlusskurse eine Aktie die nur steigt...):

int x[] = {1,2,5,7,8,11,14,15,17,22,24,25,26,29,31,44,56,57,58,62,63,64};


int gesuchteZahl = 26;

Implementieren Sie eine sequentielle Suche nach dem Wert „gesuchteZahl“ und geben Sie
die Position der Zahl im Array oder „nicht gefunden“ auf der Kommandozeile aus.

5. Nehmen Sie das Array aus Aufgabe 4. Ermitteln Sie für jeden Tag (an dem dies möglich
ist) den 5-Tage-Durchschnittswert, d.h. den gleitenden Mittelwert der vergangenen 5
Tages-Schlusskurse. Geben Sie diese Werte auf eine Nachkommastelle genau aus.
HS Koblenz – Prof. W. Kiess INGIC-Übungen WS2018

6. Schreiben Sie ein Programm, das „Sterndreiecke“ folgender Art ausgibt. (Die Anzahl der
Zeilen ist jeweils einzugeben.)

a) b) c)

* ****** *
** ***** ***
*** **** *****
**** *** *******
***** ** *********
****** * ***********

Hinweis 1:
Als Voraussetzung für a) bis c) dient die Ausgabe einer Diagonale aus lauter Sternen:

*
*
*
*

Das hierfür notwendige Programm lautet:

int i,j,zeilenanzahl = 4;
for (i=1; i<=zeilenzahl; i++){
for (j=1; j<i; j++){
printf(" ");
}
printf(“*\n“);
}

7. Schreiben Sie ein Programm zur Berechnung des Skalarproduktes zweier Vektoren a und
b mit jeweils n Elementen (Eingabe von n und der Elemente beider Vektoren). Gehen Sie
davon aus, dass n maximal 20 sein darf.
Hinweis: Das Skalarprodukt zweier Vektoren a = ( a1 , a2 , , an ) und b = ( b1 , b2 , , bn )
T T

n
ist definiert wie folgt: a  b =  ak  bk
k =1

8. Zusatzaufgabe 1: Schreiben Sie ein Programm welches alle Primzahlen von 2-10000 auf
der Kommandozeile ausgibt. Optional: implementieren sie folgende Beschleunigungen
der Überprüfung „Primzahl oder nicht?“: nur ungerade Zahlen prüfen, bei Prüfung einer
Zahl x nur bis x/2 prüfen ob diese ein Teiler von x ist.