2 Übungen | |
→ | 2.4 Übung 3 |
Theorie |
Aufgabe 1: Eindimensionale Felder |
Aufgabe 2: Zweidimensionales Feld |
Machen Sie sich mit ein- und zweidimensionalen Feldern vertraut, siehe Felder, Adressen und Zeiger.
Aus dem Quelltext ex022.c soll das Programm ex022
erstellt werden.
Das Programm soll zunächst die Inhalte der Felder feld1 und
feld2 ausgeben.
Anschließend werden die Inhalte der Felder summe und
diff berechnet. Jedes Element des Feldes summe ist
die Summe der entsprechenden Elemente der Felder feld1 und
feld2. Im Feld diff sollen die entsprechenden
Differenzen berechnet werden.
Erstellen und testen Sie das Programm ex022.
/** @file ex022.c Beispielprogramm fuer Zugriff auf Feldelemente.
*/
/* Copyright (C) 2014-2017 - HS Schmalkalden. All rights reserved. */
#include <stdio.h>
/** Anzahl der Elemente in den Feldern.
*/
enum { ANZAHL = 10 };
/** Erstes konstantes Datenfeld (Elemente koennen nicht
geaendert werden), initialisiert mit Werten.
*/
static const int feld_1[ANZAHL] = {
1, 53, 865, 7, 9, 111, 13, -15, 17, 819
};
/** Zweites konstantes Datenfeld, initialisiert mit Werten.
*/
static const int feld_2[ANZAHL] = {
200, 954, 6, 888, 1210, 12, 114, 16, -8818, 2000
};
/** Hauptprogramm.
@return 0 bei Erfolg, alle anderen Werte bedeuten Fehler.
*/
int
main(void)
{
int summe[ANZAHL]; /* Feld fuer Summen */
int diff[ANZAHL]; /* Feld fuer Differenzen */
/* Daten in den Feldern feld_1 und feld_2 anzeigen */
printf("Inhalt von feld_1:\n");
for(???) {
???
}
printf("Inhalt von feld_2:\n");
for(???) {
???
}
/* Berechnung der Summen und Differenzen */
for(???) {
summe???
diff???
}
/* Daten in den Feldern summe und diff anzeigen */
printf("Inhalt von Feld summe:\n");
for(???) {
???
}
printf("Inhalt von Feld diff:\n");
for(???) {
???
}
return 0;
}
/* vim: set ai sw=4 ts=4 expandtab : */
Aus dem Quelltext ex054.c soll das Programm ex054 erstellt werden. Das Programm soll den Inhalt des zweidimensionalen Feldes tf ausgeben. Vervollständigen Sie den Quelltext, erstellen und testen Sie das Programm.
/** @file ex054.c Demo-Programm fuer zweidimensionale Felder.
*/
/* Copyright (C) 2014 - HS Schmalkalden. All rights reserved. */
#include <stdio.h>
/** Test-Daten.
*/
double tf[3][4] = {
{ 1.1, 2.4, 3.7, 4.0 },
{ 5.2, 6.5, 7.8, 8.1 },
{ 9.3, 10.6, 11.9, 12.2 }
};
/** Hauptprogramm.
@return 0 bei Erfolg.
*/
int
main(void)
{
size_t i; /* Index fuer erste Dimension */
size_t j; /* Index fuer zweite Dimension */
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf(
"Element in Zeile %u, Spalte %u: %lg",
(unsigned)i,
(unsigned)j,
tf[???][???]
);
}
}
return 0;
}
/* vim: set ai sw=4 ts=4 expandtab : */