Problema 2:
En un sistema que para el ingreso necesita de una clave de acceso, una vez ingresado
al sistema debe pedir cuantos alumnos debe ingresar con un nombre y su apellido
paterno los ordenar alfabticamente y generar un cdigo con los 2 primeros
caracteres de cada nombre y apellido. Luego mostrar el tamao y en forma invertida
del nombre ms largo.
PROGRAMA:
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
void main(){
char a[10], b[]="Mecanica", C[100], D[100], c1, c2;
char NO[100][100], AP[100][100], S[100][100],temp[101] ;
int N,i,j,k,tam,elem;
cout<<"\nIngresar clave de acceso: ";cin>>a;
cout<<"\n________________________________________________\n\n"<<endl;
if(strcmp(b,a) == 0){
cout<<endl<<"\t**Bienvenido**"<<endl;
cout<<"\nIngresar numero de personas: ";cin>>N;
for(i=0; i<N; i++){
cout<<endl<<"\nIngresar Nombre: \t";cin>>NO[i];
cout<<endl<<"\nIngresar Apellido: \t";cin>>AP[i];
cout<<endl<<endl;}
cout<<"\nNOMBRES INGRESADOS: \n"<<endl;
for(i=0; i<N; i++){
cout<<(i+1)<<". "<<NO[i]<<' '<<AP[i]<<endl;
char C[]=", ";
strcpy(S[i],AP[i]);
strcat(S[i],C); //Une C al S[i]
strcat(S[i],NO[i]);
}
cout<<"\nNombres Ordenados Alfabeticamente: \n"<<endl;
for(elem=0; elem<N-1; elem++)
for(i=elem+1; i<N; i++)
if(strcmpi(S[elem], S[i])>0){
strcpy(temp, S[elem]);
strcpy(S[elem], S[i]);
strcpy(S[i], temp);
}
for(i = 0 ; i < N ; i++){
cout<<(i+1)<<". "<<S[i]<<endl;
}
cout<<"\nGenerar codigos:\n"<<endl<<endl;
for(i = 0 ; i < N ; i++){
cout<<(i+1)<<". "<<NO[i]<<' '<<AP[i]<<endl;
for(j = 0 ; j < 2 ; j++){
c1=toupper(NO[i][j]);
cout<<c1;
for(j = 0 ; j < 2 ; j++){
c2=toupper(AP[i][j]);
cout<<c2;
}
cout<<endl;
}
getch();
j=0;
for(i = 0 ; i < N ; i++){
strcpy(C,NO[i]);
tam=strlen(strcat(C,AP[i]));
if(tam > j)
{j=tam;}
}
char C[]=" ";
strcpy(S[k],NO[k]);
strcat(S[k],C);
strcat(S[k],AP[k]);
strcpy(C,S[k]);
cout<<"\Nombre ms Largo: \n"<<NO[k]<<' '<<AP[k]<<endl;
cout<<"\nSu tamao es:
\n"<<j<<endl;
cout<<"\nNombre al reves: \n";
for(i=1;i<=strlen(C);i++)
cout<<C[strlen(C)-i];}
else
cout<<"Error, clave incorrecta, por favor intente de nuevo"<<endl;
getch();}
Problema 03
Se tiene la siguiente serie, en cual se va a ingresar el nmero de trminos mayor a 7,
si N es par hallara la media de los 02 valores centrales, de lo contrario si N es impar, el
valor de los extremos, y luego hallar la suma de N trminos.
D=
a2b
3 a4 b 3 5 a6 b
4
+
2 a3 b 4 a5 b 6 6 a7 b
PROGRAMA:
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main(){
double X[1000],D,G=0;
int a,b,i,N;
cout<<"Ingrese solo valores enteros";
cout<<"\nIngrese el valor de a: ";cout<<"\t";cin>>a;
cout<<"Ingrese el valor de b: ";cout<<"\t";cin>>b;
cout<<"Ingrese el nmero de trminos de la serie: ";cout<<"\t";cin>>N;
cout<<"______________________________________________________\n"<<endl
;
if(a>(3*b)/2){
for(i=1;i<=N;i++){
X[i] = ( pow((2*i-1)*a - 2*i*b,1/i)*pow(-1,i+1))/(pow(2*i*a (2*i+1)*b,1/(2*i))) ;
cout<<"X["<<i<<"]= "<<X[i]<<endl;
}
if(N%2==0){
D=(X[N/2]+X[N/2+1])/2;
cout<<"El nmero de trminos es par, la media de los valores centrales es:
"<<D<<endl;}
else{
cout<<"El nmero de trminos es impar, los trminos extremos son: ";
cout<<"X[1] = "<<X[1]<<endl;
cout<<"X["<<N<<"] = "<<X[N]<<endl;}
for(i=1;i<=N;i++){
G = G + X[i];
}
cout<<"La suma de todos los trminos = "<<G;
}
else
cout<<"No est definido para los valores a y b, cambie los
valores(a>(3*b)/2)";
getch();}
Problema 04
Genere usted una matriz cuadrada de valores aleatorios, extraiga la raz cuadrada de la
fila con mayor suma, como tambin, la de la columna de menor suma. Mostrar en un
vector la de mayor suma y en otro vector la de la columna de menor suma.
PROGRAMA:
#include<iostream.h>
#include<conio.h>
#include<time.h>
#include<stdlib.h>
#include<math.h>
void main(){
int a,i,j;
float M[100][100];
double
N,mayorfila=0,menorcolum=0,sumamenor[100]={0},sumamayor[100]={0};
double Rm[100][100],rm[100][100];
srand(time(NULL));
cout<<"Ingrese el tamao de la matriz: ";cin>>N;
cout<<"\n---------------------------------------------------------------\n";
for(i=0;i<N;i++)
for(j=0;j<N;j++)
M[i][j]=rand()%10;
for(i=0;i<N;i++){cout<<"\n";
for(j=0;j<N;j++){
cout<<"\t"<<M[i][j]<<" ";}
cout<<endl<<"\t"; }
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
sumamayor[i]=sumamayor[i]+M[i][j];
if(sumamayor[i]>mayorfila)
{mayorfila=sumamayor[i];
a=i;}}
for(j=0;j<N;j++)
Rm[a][j]=pow(M[a][j],0.5);
for(j=0;j<N;j++)
{for(i=0;i<N;i++)
sumamenor[j]=sumamenor[j]+M[i][j];
if(sumamenor[j]>menorcolum)
{menorcolum=sumamenor[j];
a=j;}}
for(i=0;i<N;i++)
rm[i][a]=pow(M[i][a],0.5);
cout<<"\nLa fila de mayor suma es "<<mayorfila;
cout<<"\nLa columna de mayor suma es "<<menorcolum;
cout<<"\nla raiz de la fila de mayor suma es ";
for(j=0;j<N;j++)
cout<<Rm[a][j]<<' ';
cout<<"\nla raiz de la columna de mayor suma es ";
for(i=0;i<N;i++)
cout<<rm[i][a]<<' ';
getch();}
Problema 5
Escribir un programa que lea las componentes de n vectores Vx y Vy y al final
me muestre las componentes de la resultante Rx y Ry adems de la magnitud y el
ngulo del vector resultante.
PROGRAMA:
#include <iostream.h>
#include <conio.h>
#include <math.h>
void main()
{
float V[100][4],Rx=0,Ry=0,A,PI=3.1415;
int n,i;
cout<<"Ingrese el numero de vectores: ";cin>>n;
cout<<"____________________________________\n"<<endl;
for(i=0; i<n;i++){
cout<<"Ingrese el componente x del vector ";
cout<<"V["<<i<<"] :";cin>>V[i][0];
cout<<"Ingrese el componente y del vector ";
cout<<"V["<<i<<"] :";cin>>V[i][1];
cout<<endl;
}
for(i=0; i<n;i++){
cout<<"El vector V["<<i<<"] ="<<"( "<<V[i][0]<<"
[1]<<" )";
cout<<endl;
}
"<<V[i]
for(i=0; i<n;i++){
Rx=Rx+V[i][0];
}
for(i=0; i<n;i++){
Ry=Ry+V[i][1];
}
cout<<"\nVector Resultante R es:( "<<Rx<<" , "<<Ry<<" )";
A = atan(Ry/Rx)*180/PI;
cout<<"\nEl angulo del vector resultante en grados: ";cout<<A;
getch();
}