• Keine Ergebnisse gefunden

Lösung Übungszettel 4

N/A
N/A
Protected

Academic year: 2021

Aktie "Lösung Übungszettel 4"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Lösungen zur Vorlesung

GRUNDLAGEN DERINFORMATIKI Studiengang Elektrotechnik

WS 02/03

AG Betriebssysteme FB3 Kirsten Berkenkötter

Lösung Übungszettel 4

1 Aufgabe 5: Arrays und Zeiger - Einlesen und Vergleichen von Wer- ten

#include <stdio.h>

//Größe des Arrays festlegen

#define MAXNUM 10

//eine Funktion zum Initialisieren des Felds void initialisieren(int *array, int laenge) {

//Zählervariable int i;

//Feld mit 0 belegen for(i = 0; i < laenge; i++)

array[i] = 0;

}

//eine Funktion für die Eingabe der Zahlen void eingeben(int *array, int laenge)

{

//Zählervariable int i;

//Werte für jedes Feld eingeben for (i = 0; i < laenge; i++)

{

printf("%d. Zahl: ", (i+1));

scanf("%d", &array[i]);

} }

//eine Funktion zum Vergleichen der Zahlen void vergleichen(int *array1, int *array2, int laenge) {

//Zählervariable int i;

//Unterschiede ausgeben printf("Unterschiede: ");

(2)

for (i = 0; i < laenge; i++) {

if(array1[i] != array2[i]) printf("%d ", (i+1));

}

printf("\n");

}

//eine Funktion, um eine neue Runde zu machen int neueRunde(int **array1, int **array2)

{

char antwort;

static int *hilfsfeld;

//nochmal?

printf("Noch einmal [j/n]? ");

scanf(" %c", &antwort);

//wenn ja, die Zeiger vertauschen if (antwort == ’j’)

{

hilfsfeld = *array1;

*array1 = *array2;

*array2 = hilfsfeld;

return 0;

}

//wenn nein, -1 zurückgeben else

return -1;

}

int main() {

//zwei Arrays für die beiden Felder anlegen //zwei Zeiger auf die Felder anlegen und belegen static int feld1[MAXNUM], feld2[MAXNUM];

static int *eingabe = feld1;

static int *vergleich = feld2;

//Funktion zum Initialisieren des Vergleichsarrays aufrufen initialisieren(vergleich, MAXNUM);

//Vergleichen, bis Benutzer keine Lust mehr hat do

{

//Werte eingeben und dann vergleichen eingeben(eingabe, MAXNUM);

(3)

vergleichen(eingabe, vergleich, MAXNUM);

}

while(neueRunde(&eingabe, &vergleich) == 0);

}

Referenzen

ÄHNLICHE DOKUMENTE

Atome und Ionen mit ungepaarten Elektronen zeigen ein paramagnetisches Verhalten.. in Folie 10) besitzen vorwiegend C-Charakter. a) Valenz am B: 3; Formale Oxidationszahl: +3,

//das bisherige oberste Element in Hilfsvariable speichern (für free()) //das bisher vorletzte Element wird neues oberstes Element. temp

/* Funktion zur Umwandlung einer Binaerzahl in eine Dezimalzahl */. void

struct hostent *hostinfo; //Server (Host). size_t lensent; //Laenge

//suchzahl ist die gesuchte Zahl, *array ein Zeiger auf das zu durchsuchende Array //laenge gibt die Länge dieses Arrays an, *zaehler ist ein Zeiger auf einen Zähler, //der die

//laenge gibt die Länge dieses Arrays an, *zaehler ist ein Zeiger auf //einen Zähler, der die Anzahl der benötigten Vergleiche zählt int binaereSuche(int suchzahl, int *array,

//Deklarieren von globalen Variablen für die Ergebnisse //lokale Variablen werden geloescht, wenn eine Funktion //abgearbeitet ist, deshalb zeigt ein Zeiger auf eine //lokale

//(’i’ = Integer, ’f’ = Double, ’s’ = String) //a ist Zeiger auf ersten Summand //b ist Zeiger auf zweiten Summand //Rückgabewert: Zeiger auf Ergebnis void *add(char typ,