C grafische ausgabe auf der konsole (übung)

Status
Es sind keine weiteren Antworten möglich.

_tnt_

Lt. Junior Grade
Dabei seit
Aug. 2006
Beiträge
374
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:
	/*

	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.
 
Status
Es sind keine weiteren Antworten möglich.
Top