#include <iostream.h>
#include <math.h>
#include <string.h>
void main()
{
int i,j,k,z,q,t,r,c=0,c1=0,c2=0,t1;
char a[20][20][50],op,n;
char bb,kb;
double cb;
do
{
//do while de restriccion:
do
{
cout<<"Introduzca orden de la matriz "<<endl;cin>>n;
bb=n;
cb=bb-48;
//restriccion de conversiones ascii a numero:
if (bb>=48 && bb<=57)
{
for(i=1;i<=cb;i++)
{for(j=1;j<=cb;j++)
{cout<<"Introduzca cadena "<<i<<","<<j<<endl;cin>>a[i][j];}}
for (i=1;i<=cb;i++)
{for (j=1;j<=cb;j++)
{cout<<a[i][j]<<" ";}cout<<endl;}
for(i=1;i<=cb;i++)
{for(j=1;j<=cb;j++)
{z=strlen(a[i][j]);
cout<<"La longitud de "<<a[i][j]<<" es= "<<z<<endl;
//Sumatoria Ascii de Cadenas:
for (k=0; k<z; k++)
{q=a[i][j][k];c=c+q;c1=c1+q;
cout<<"El codigo de "<<a[i][j][k]<<" es= "<<q<<endl;}
cout<<"Sumatoria del codigo ascii de "<<a[i][j]<<" es= "<<c<<endl;c=0;
cout<<"Sumatoria total de los codigos= "<<c1<<endl;}}
cout<<"Sumatoria total de las cadenas es= "<<c1<<endl;c1=0;
// Multiplos
for(i=1;i<=cb;i++)
{for(j=1;j<=cb;j++)
{z=strlen(a[i][j]);
for (k=0; k<z; k++)
{q=a[i][j][k];
if ( (q%2)==0)
{cout<<"El codigo ASCII del caracter="<<a[i][j][k]<<" es par"<<endl;}
else
{cout<<"El codigo ASCII del caracter="<<a[i][j][k]<<" es impar"<<endl;}
if ((q%3)==0)
{cout<<"El codigo ASCII del caracter="<<a[i][j][k]<<" es multiplo de 3"<<endl;}
if ((q%5)==0)
{cout<<"El codigo ASCII del caracter="<<a[i][j][k]<<" es multiplo de 5"<<endl;}
if ((q%n)==0)
{cout<<"El codigo ASCII del caracter="<<a[i][j][k]<<" es multiplo del orden de la matriz"<<endl;}
for(r=2;r<q;r++)
{
if(q%r==0)
{c1=c1+1;}}
if(c1==0)
{cout<<"El caracter "<<a[i][j]<<" cuyo codigo ASCII es " <<q<<" es un numero primo "<<endl;}
c1=0;}}}
// Letra
for(i=1;i<=cb;i++)
{for(j=1;j<=cb;j++)
{z=strlen(a[i][j]);
for (k=0; k<z; k++)
{q=a[i][j][k];
if((q>=48 && q<=57))
{ cout<<"El caracter="<<a[i][j][k]<<" es un numero"<<endl;}
if ((q>=97 && q<=122))
{ cout<<"El caracter="<<a[i][j][k]<<" es una letra minuscula"<<endl;}
if ((q>=65 && q<=90))
{ cout<<"El caracter="<<a[i][j][k]<<" es una letra mayuscula"<<endl;}}}}
//Caracter a Buscar
cout<<"Introduzca el caracter a buscar=?";
cin>>t1;
t=t1+48;
for(i=1;i<=cb;i++)
{for(j=1;j<=cb;j++)
{z=strlen(a[i][j]);
for (k=0; k<z; k++)
{
if (t==a[i][j][k])
{cout<<"Se hallo el caracter="<<t<<" en la posicion= "<<i<<","<<j<<endl;c2=c2+1;}}}}
if (c2==0)
{cout<<"no se consiguio el caracter";}
if (c2==1)
{cout<<"Se consiguio el caracter "<<t1<<" 1 vez"<<endl;c2=0;}
if( c2>1)
{cout<<"Se consiguio el caracter "<<t1<<" "<<c2<<" veces"<<endl;}
cout<<"desea regresar al programaa nuevamente s o n =?";
cin>>op;
kb=0;
}
else
{
cout<<"Error intenta de nuevo"<<endl;
kb=3;
}
}while(kb==3);
}while ((op=='s')||(op=='S'));
}