Z_Ćwiczenia_19.01.2008.txt

(1 KB) Pobierz
G��wnym zadaniem na dzisiejszych �wiczeniach b�dzie napisanie takiego programu, kt�ry rekurencyjnie z tablicy dziewi�cioelementowej o elementach 3, 1, 4, 6, 5, 7, 3, 5, 4 posegreguje elementy tej tablicy tak, by jej �rodek stanowi�a liczba 4. Oto kod tego programu:


#include <stdio.h>

void zamien(int* t1, int* t2)
{
int tmp_;
tmp_=*t2;
*t2=*t1;
*t1=tmp_;
}

int part (int* tab, int p, int k)
{
int i=p;
int x=tab[p];
while (i<k)
{
while (i<k && tab[i]<=x)
			i++;
while (k>i && tab[k]>x)
			k--;
zamien(&tab[i],&tab[k]);
}
	zamien(&tab[p],&tab[i-1]);
	return i-1;
}

void qsort(int* tab, int p, int k)
{
if (p < k)
{
int d;
d=part(tab,p,k);
qsort(tab,p,d);
qsort(tab,d+1,k);
}
}

void main()
{
int i=0;
int tab[]={3,1,4,6,5,7,3,5,4};
qsort(tab,0,8);
while(i<9)
{
printf("%d,  ",tab[i]);
i++;
}
}


Prac� domow� ma by� napisanie programu labirynt, w kt�rym �cianki b�d� zaznaczane �#� a wolne pola po kt�rych mo�na chodzi� przez �.�. Labirynt ma za ka�dym razem wygl�da� inaczej. A jak ju� b�dzie labirynt, to powinien poprosi� o podanie punktu i wskaza� drog� do niego zmieniajac wolne pola z �.� na �x�. Przyk�adowy labirynt z zaznaczon� drog� wygl�da� powinien tak:


#########
#A#xxxxx#
#x#x###x#
#xxx#.#x#
#####.#x#
#...#xxx#
#.#.#x###
#.#..xxB#
#########
Zgłoś jeśli naruszono regulamin