#include<conio.h>
#include<stdio.h>
#include<string.h>
void main()
{
textbackground(1);
textcolor(BLACK);
clrscr();
int a,b,c,d,n,f,x,r,m,y,mat[10][10],mat1[10][6],suma[10][10],resta[10][10],opcion;
char cad[50],rev[50];
do
{
clrscr();
gotoxy(38,12);
printf("EXAMEN ");
gotoxy(1,19);
printf("(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)");
gotoxy(30,23);
printf("1.Suma De Matrices");
gotoxy(30,25);
printf("2.Resta De Matrices ");
gotoxy(30,27);
printf("3.Palindromo");
gotoxy(30,29);
printf("4.Salir ");
gotoxy(30,47);
printf("Opcion: ");
scanf("%i",&opcion);
switch (opcion)
{
case 1:textbackground(BLUE);
clrscr();
gotoxy(30,12);
printf("Suma De Matrices");
gotoxy(8,16);
printf("(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)");
printf("cuantos renglones y columnas quieres para las matrizes (max 5x5 y separados por un espacio): ");
scanf("%i%i",&m,&n);
clrscr();
if(m>5)
{
gotoxy(5,7);
printf("Error: el renglon no debe ser mayor a 5");
}
if(n>5)
{
gotoxy(5,9);
printf("Error: la columna no debe ser mayor a 5");
}
}
while(m>5||n>5);
for(f=0;f<m;f++)
for(c=0;c<n;c++)
{
printf("dame el numero del %iø renglon y de la %iø columna de la primera matriz: ",f+1,c+1);
scanf("%i",&mat[f][c]);
}
for(f=0;f<m;f++)
{
for(c=0;c<n;c++)
printf("%i\t",mat[f][c]);
printf("\n\n");
}
for(f=0;f<m;f++)
for(c=0;c<n;c++)
{
printf("dame el numero del %iø renglon y de la %iø columna de la segunda matriz: ",f+1,c+1);
scanf("%i",&mat1[f][c]);
}
for(f=0;f<m;f++)
{
for(c=0;c<n;c++)
printf("%i\t",mat1[f][c]);
printf("\n\n");
}
for(f=0;f<m;f++)
for(c=0;c<n;c++)
resta[f][c]=mat[f][c]-mat1[f][c];
printf("la matriz restada es:\n");
for(f=0;f<m;f++)
{
for(c=0;c<n;c++)
printf("%i\t",resta[f][c]);
printf("\n\n");
}
getch();
break;
case 2:textbackground(RED);
clrscr();
gotoxy(30,12);
printf("Resta De Matrices");
gotoxy(8,16);
printf("(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)");
gotoxy(30,24);
printf ("Introduce el valor de m: ");
scanf("%i",&m);
printf("Introduce el valor de n: ");
scanf("%i",&n),
clrscr();
for (f=0;f<m;f++)
{
for (c=0;c<n;c++)
{
printf(" Introdusca los valores para la matriz A en la posicion %d y %d : ",f,c);
scanf("%d",&mat[f][c]),y++;
}
}
clrscr();
for(f=0;f<m;f++)
{
for(c=0;c<n;c++)
{
printf("\n Introdusca los valores para la matriz B en la posicion %d y %d : ",f,c);
scanf("%d",&mat1[f][c]);
}
}
clrscr();
printf("El resultado de la resta es: ");
y=15;
for (f=0;f<m;f++)
{
x=8;
for (c=0;c<n;c++)
{
resta[f][c]=mat[f][c]-mat1[f][c];
gotoxy(x,y);
printf(" %d",resta[f][c]);
x+=6;
}
y++;
}
getch();
break;
case 3: textbackground(BLACK);
clrscr();
gotoxy(30,12);
printf("Palindromo");
gotoxy(8,16);
printf("(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)(*_*)");
gotoxy(24,18);
printf("Dame una cadena: ");
gets(cad);
fflush(stdin);
strlwr(cad);
a=strlen(cad);
for(c=0;c<a;c++)
{
for(d=0;d<a;d++)
{
if(cad[d]==' ')
{
cad[d]=cad[d+1];
cad[d+1]=' ';
}
}
}
for(d=0;d<a;d++)
{
if(cad[d]==' ')
{
cad[d]=0;
}
}
a=strlen(cad);
for(d=0;d<a;d++)
{
rev[d]=cad[a-d-1];
}
rev[d]='\0';
b=strcmp(cad,rev);
if(b==0)
printf("Es un palindromo");
else
printf("No es palindromo");
getch();
break;
}
}
while(opcion<4);
getch();
}