Void main()
{
FILE *f;
int i,j;
char Xcolor[20];
chair *zap1;
clrscr();
zap1=stackcat();
putcat(zap1);
printf("Enter color of chair to delete :");
scanf("%s",Xcolor);
udalchair(zap1,Xcolor);
printf("See result in result.c");
puts(" PRESS ENTER PLEASE");
getch();
}
/*Лабораторная работа #6 (Рекурсия)
Написать программу, включающую рекурсивную функцию для вычисления:
НОД двух неотрицательных целых чисел m и n с использованием второго
алгоритма Евклида:
(
| n при n=m,
|
| НОД (m mod n,n) при m>n,
|
НОД(m,n)= { НОД (m, n mod m) при n>m,
|
| n при n<>0, m=0,
|
| m при n=0, m<>0
(
*/
#include<stdio.h>
int nod(int m,int n)
{
if(n != 0 && m == 0)
return(n);
if(n == 0 && m != 0)
return(m);
if(m>n)
return nod(m % n,n);
if(m<n)
return nod(m,n % m);
if(m == n)
return(n);
}
Void main()
{
int m,n;
clrscr();
do
{
printf("Введите числа m>0 и n>0: ");
scanf("%d %d",&m,&n);
}
while(m<=0&&n<=0);
printf("NOD(%d %d) = %d",m,n,nod(m,n));
getch();
}
/*Лабораторня работа #6(2)
Написать программу, которая создает бинарное дерево, состоящее из целых
чисел, вводимых с клавиатуры, выполняет преобразования в соответствии
с номером задания и печатает все числа бинарного дерева
(исходного и преобразованного)
Находит максимальное число в бинарном дереве
*/
#include <stdio.h>
#include<stdlib.h>
#include <conio.h>
int MAX=-32768;
struct bin
{
int n;
struct bin *lson,*rson;
};
typedef struct bin bi;
void SearchMax(bi *der)
{
if (der==NULL) return;
if (der->n>MAX) MAX=der->n;
SearchMax(der->rson);
}
bi *root,*pred,*cur;
bi *create(int i)
{
bi *c;
c=malloc(sizeof(bi));
c->n=i;
c->lson=NULL;
c->rson=NULL;
return(c);
}
int fl=0;
void output(bi *cur,int x,int y,int d)
{
gotoxy(x,y);
printf("%d",cur->n);
if (cur->lson) output(cur->lson,x-d,y+2,d/2);
if (cur->rson) output(cur->rson,x+d,y+2,d/2);
}
void create1(bi *cur,int i)
{
if (i<cur->n)
if (cur->lson) create1(cur->lson,i);
else cur->lson=create(i); else
if (cur->rson) create1(cur->rson,i);
else cur->rson=create(i);
}
Void main()
{
int i;
clrscr();
/* СОЗДАНИЕ ДЕРЕВА */
root=NULL;
puts("Введите числа: \n ");
scanf("%d",&i);
while (i>=0)
{
if (!root) root=create(i); else
{
cur=root;
create1(cur,i);
}
scanf("%d",&i);
}
if (root)
{ clrscr();
puts("Числа в бинарном дереве : ");
output(root,40,4,10);
getch();
SearchMax(root);
printf("\n\n\n\nМаксимум равен: %d",MAX);
} else puts("Бинарное дерево пустое.");
getch();getch();
}