Me piden escribir un programa en lenguaje c tal que, acepte la entrada de dos conjuntos A y B de hasta 12 elementos cada uno. En el universo definido de letras mayusculas (a-z, sin la ñ). Para estos conjuntos se pide calcular
a) A elevado a c y b elevado a c
b)A U B
c)A interseccion B
d)a----B
e) A circulo con mas adentro(nose como se escribe) B
F)A elevado a c U B
G)A interseccion B elevado a c
Lo que hice fue:
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <string.h>
void llenar(char a[12],char c) {
char aux;
int i=0,max;
clrscr();
do {
printf("Ingrese Total de Elementos del Conjunto %c: ",c);
scanf("%d",&max);
if(max>12) {
sound(1000);
delay(300);
nosound();
printf("ERROR - Valor maximo de Arreglo 12\n"); }
}while(max>12);
printf("\nElementos del conjuto %c",c);
while(i<max) {
printf("\nIngrese caracter %d: ",i+1);
aux=getche();
if(aux=='1' || aux=='2' || aux=='3' || aux=='4' || aux=='5' || aux=='6' || aux=='7' || aux=='8' || aux=='9' || aux=='0' || aux=='¤') {
sound(1000);
delay(300);
nosound();
printf("\nERROR - Valor Invalido\n"); }
else {
a[i]=aux;
i++; }
}
printf("\n\nAnalizando Componentes Conjunto %c",c);
sleep(1);
}
char menu() {
char op;
clrscr();
printf("¨Que desea Obtener?");
printf("\n1-Complemento de un conjunto");
printf("\n2-Union de los conjuntos");
printf("\n3-Interseccion de los conjuntos");
printf("\n4-Diferencia de los conjuntos");
printf("\n5-Diferencia Simetrica de los conjuntos");
printf("\n6-Union del complemento de A con B");
printf("\n7-Interseccion de A con el Complemento de B");
printf("\n8-Salir");
printf("\nIngrese Opcion ");
op=getche();
return(op);
}
void f_complemento(char a[12],char c[14]) {
char univ[26]={'a','b','c','d','e','f','g','h','i','j','k','l', 'm','n','o','p','q','r','s','t','u','v','w','x','y ','z'};
int cont,i,e,j=0;
for(e=0;e<=26;e++) {
cont=0;
for(i=0;i<=12;i++)
if(univ[e]!=a[i]) {
cont++;
if(cont==12) {
c[j]=univ[e];
j++;
}
}
}
}
void f_union(char a[12],char b[12],char c[24]) {
int i,e=0;
for(i=0;i<=12;i++) {
c[e]=a[i];
e++;
c[e]=b[i];
}
}
void f_inter(char a[12],char b[12],char c[24]) {
int i,e,j,cont;
for(i=0;i<=12;i++) {
cont=0;
for(e=0;e<=12;e++)
if(b[e]==a[i]) {
cont++;
if(cont==12) {
c[j]=b[e];
j++;
}
}
}
}
void f_dif(char a[12],char b[12],char c[24]) {
int cont,i,e,j=0;
for(e=0;e<=26;e++) {
cont=0;
for(i=0;i<=12;i++)
if(a[e]!=b[i]) {
cont++;
if(cont==12) {
c[j]=a[e];
j++;
}
}
}
void f_difsim(char a[12],char b[12],char c[24]) {
char aux1[24],aux2[24];
f_dif(a,b,aux1);
f_dif(b,a,aux2);
f_union(aux1,aux2,c);
}
}
void imprimir(char a[24]) {
int i;
printf("{");
for(i=0;i<6;++i)
printf("%d,",a[i]);
printf("}");
}
void main() {
char ca[12],cb[12],respuesta,compl[14],union[24],inter[24],dif[24],difsim[24];
clrscr();
printf(" Matematicas Discretas\n Trabajo Nø2\n Prof. :Claudio Fuentealba\n Ayud. :Mario Pineda\n Alumno:Alvaro allende");
getche();
llenar(ca,'A');
llenar(cb,'B');
do {
respuesta=menu();
switch(respuesta) {
case '1':f_complemento(ca,compl);
gotoxy(5,12);
printf("\nEl Complemento de A es:");
imprimir(compl);
f_complemento(cb,compl);
gotoxy(5,15);
printf("\nEl Complemento de B es:");
imprimir(compl);break;
case '2':f_union(ca,cb,union);
gotoxy(5,12);
printf("\nLa Union de A con B es:");
imprimir(union);break;
case '3':f_inter(ca,cb,inter);
gotoxy(5,12);
printf("\nLa Interseccion de A con B es:");
imprimir(union);break;
case '4':f_dif(ca,cb,dif);
gotoxy(5,12);
printf("\nLa Diferncia de A y B es:");
imprimir(dif);break;
case '5':f_difsim(ca,cb,difsim);
gotoxy(5,12);
printf("\nLa Diferncia Simetrica de A y B es:");
imprimir(difsim);break;
case '6':f_complemento(ca,compl);
f_union(compl,cb,union);
printf("La Union del complemento de A con B es:");
imprimir(union);break;
case '7':f_complemento(cb,compl);
f_inter(ca,compl,inter);
printf("La Interseccion del complemento de B con A es:");
imprimir(union);break;
}
}while(respuesta!='8');
clrscr();
gotoxy(25,11);
printf("fin del programa, adios");
sleep(1);
}
Pero me sale varios errores de sintaxis , kien me puede ayudar porque es un trabajo y lo tengo que entregar muy pronto