_tnt_
Lt. Junior Grade
- Registriert
- Aug. 2006
- Beiträge
- 438
hallo,
ich habe folgende übungsaufgabe bekommen:
aufgabe 1 und 2 habe ich gelöst. nur bei punkt 3 bin ich mir nicht ganz sicher wie ich da vorgehen muss.
ich hätte mir folgendes überlegt:
code punkt 1:
code punkt 2:
vielleicht kann mir ja jemand bei punkt 3 unter die arme greifen.
vielen dank im voraus und noch nen schönen abend.
ich habe folgende übungsaufgabe bekommen:
aufgabe 1 und 2 habe ich gelöst. nur bei punkt 3 bin ich mir nicht ganz sicher wie ich da vorgehen muss.
ich hätte mir folgendes überlegt:
Code:
/*
array zeichen welches beide punkte beinhaltet
array mit "." füllen
berechnete punkte ins array eintragen und mit "x" befüllen
x . . . . . . . . . . . . . .
. x . . . . . . . . . . . . .
. . x . . . . . . . . . . . .
. . . x . . . . . . . . . . .
. . . . x . . . . . . . . . .
. . . . . x . . . . . . . . .
. . . . . . x . . . . . . . .
. . . . . . . x . . . . . . .
. . . . . . . . x . . . . . .
. . . . . . . . . x . . . . .
. . . . . . . . . . x . . . .
. . . . . . . . . . . x . . .
. . . . . . . . . . . . x . .
. . . . . . . . . . . . . x .
. . . . . . . . . . . . . . x
*/
code punkt 1:
Code:
# include <stdlib.h>
# include <stdio.h>
float rekursion (int n);
float rechnung (int n);
int start=0; // oder einfach in im main ausgeben und den return wert der funktion für das ergebnis verwenden
float rekursion (int n)
{
if (n == 1)
{
printf("H(%d) = 1\n", n);
}
else if (n > 1)
{
rechnung(n);
}
else
{
puts("Geben Sie bitte eine Zahl groesser 0 ein!");
}
};
float rechnung (int n)
{
float b;
static float erg=0;
if (n == 0)
{
printf("\nH(%d): %f\n\n", start, erg); //ENDE
}
else
{
b = 1.0/n;
erg = erg + b;
// Bruch ausgabe
if (n > 1)
{
printf("1/%d", n);
}
// 1/1 als 1 ausgeben
else
{
printf("1");
}
// PLUS Zeichen
if (n > 1)
{
printf(" + ");
}
rechnung(n-1); // vor 1/n
}
}
int main ()
{
int n=0;
puts("Geben Sie eine Zahl ein");
scanf("%d", &n);
fflush(stdin);
start = n; //globale variable gesetzt
rekursion(n);
}
code punkt 2:
Code:
#include<stdlib.h>
#include<stdio.h>
void vergleich(int x1, int y1, int x2, int y2)
{
int mx=0, my=0;
if(abs (x1-x2) <= 1 && abs (y1-y2) <= 1)
{
//puts("Punkt A und B sind benachbart\n");
printf("Punkt A: %d, %d\n", x1, y1);
printf("Punkt B: %d, %d\n", x2, y2);
}
else
{
mx=(x2+x1)/2;
my=(y2+y1)/2;
vergleich(mx, my, x2, y2);
vergleich(x1, y1, mx, my);
}
}
int main()
{
int x1=0, y1=0, x2=0, y2=0;
puts("Koordinaten Punkt A");
scanf("%d %d", &x1, &y1);
fflush(stdin);
puts("\nKoordinaten Punkt B");
scanf("%d %d", &x2, &y2);
fflush(stdin);
vergleich(x1, y1, x2, y2);
}
vielleicht kann mir ja jemand bei punkt 3 unter die arme greifen.
vielen dank im voraus und noch nen schönen abend.