SlideShare una empresa de Scribd logo
PROGRAMACION DIGITAL (FIEE-UNI)
1) Calcule la edad exacta de una persona en años, meses y días. El programa debe pedir ingresar la fecha de
nacimiento y la fecha actual, los cuales deben estar validados, caso contrario debe pedir reingresar
datos(999<año<10000). El programa usa 2 funciones:
fecha valida:
calcular edad:
sol:
#include<fstream.h>
#include <conio.h>
bool validaFecha(int,int,int);
void calculaEdad(int,int,int,int,int,int);
void main(){
int an,mn,dn,aa,ma,da;//(año de nacimiento,mes,dia),(año actual,mes,dia)
cout<<"ingrese fecha de nacimiento:n";
cin>>dn>>mn>>an;
while(!validaFecha(dn,mn,an)){
cout<<"fecha no valida, vuelva a ingrearn";cin>>dn>>mn>>an;
}
cout<<"fecha de nacimiento es: "<<dn<<"/"<<mn<<"/"<<an<<"nn";
cout<<"ingrese fecha actual:n";
cin>>da>>ma>>aa;
while(!validaFecha(da,ma,aa) || aa<an){
cout<<"fecha no valida, vuelva a ingrearn";cin>>da>>ma>>aa;
}
cout<<"fecha actual es: "<<da<<"/"<<ma<<"/"<<aa<<"n";
calculaEdad(dn,mn,an,da,ma,aa);
getch();
}
bool validaFecha(int d,int m,int a){
int dmax,sw=0;
if((a<1000 || a>9999) || (m<=0 || m>12))sw=1;
switch(m){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
dmax=31;break;
case 4: case 6: case 9: case 11:
dmax=30;break;
case 2:if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0){
dmax=29;
}
else{
dmax=28;
}break;
}
if(d<=0 || d>dmax)sw=1;//si sw=1,la fecha es incorrecta,si sw=0 esta bien
if(sw==0){
return true;
}else{
return false;
}
}
void calculaEdad(int d1,int m1,int a1,int d2,int m2,int a2){
int ea,em,ed,pd;
switch(m2){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
pd=31;break;
case 4: case 6: case 9: case 11:
pd=30;break;
case 2:if (a2 % 4 == 0 && a2 % 100 != 0 || a2 % 400 == 0){
pd=29;
}
else{
pd=28;
}break;
}
if(d2<d1){
ed=d2+pd-d1;m2--;//nos hemos prestado dias
if(m2<m1){
em=m2+12-m1;a2--;
}else{
em=m2-m1;
}
ea=a2-a1;
}
else{
ed=d2-d1;
if(m2<m1){
em=m2+12-m1;a2--;
}else{
em=m2-m1;
}
ea=a2-a1;
}
cout<<"nla edad es: "<<ea<<" años "<<em<<" meses "<<ed<<" diasn";
}
2) Calcule la fecha del día anterior, teniendo en cuenta los años bisiestos. Las funciones a usar son:
validaFecha
fechaAyer
#include<fstream.h>
#include <conio.h>
bool validaFecha(int,int,int);
void fechaAyer(int,int,int);
void main(){
int aa,ma,da;
cout<<"ingrese fecha actual:n";
cin>>da>>ma>>aa;
while(!validaFecha(da,ma,aa)){
cout<<"fecha no valida, vuelva a ingrearn";cin>>da>>ma>>aa;
}
cout<<"fecha actual es: "<<da<<"/"<<ma<<"/"<<aa<<"n";
fechaAyer(da,ma,aa);
getch();
}
bool validaFecha(int d,int m,int a){
int dmax,sw=0;
if((a<1000 || a>9999)||(m<=0 || m>12))sw=1;
switch(m){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:dmax=31;break;
case 4: case 6: case 9: case 11:dmax=30;break;
case 2:if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0){
dmax=29;
}
else{
dmax=28;
}break;
}
if(d<=0 || d>dmax)sw=1;
if(sw==0){
return true;
}else{
return false;
}
}
void fechaAyer(int d,int m,int a){
d--;
if(d==0){
m--;
if(m==0){
m=12;d=31;a--;
}
switch(m){
case 4: case 6: case 9: case 11:d=30;break;
case 2:if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0){
d=29;
}
else{
d=28;
}break;
default:d=31;
}
}
cout<<"nla fecha de ayeres: "<<d<<"/"<<m<<"/"<<a<<"n";
}
3) Ingrese un arreglo de enteros. El programa debe colocar los números impares a la izquierda y los pares a la
derecha.
#include <iostream.h>
#include <conio.h>
void main(){
int a[80],n,r=0,aux;
cout<<"Ingrese el numero de datos:n";
cin>>n;
for(int i=0;i<n;i++){
cout << "Ingrese la posicion ["<<i<<"] : ";
cin >> a[i];
}
cout<<"n";
cout<<"el arreglo es: nn";
for(int i=0;i<n;i++){
cout<<a[i]<<"t";
}
cout<<"n";
for(int i=0;i<n;i++){
if(a[i]%2==1){
for(int j=i;j>0+r;j--){
aux=a[j-1];
a[j-1]=a[j];
a[j]=aux;
}
r++;
}
}
cout<<"n";
cout<<"el arreglo final es: nn";
for(int i=0;i<n;i++){
cout<<a[i]<<"t";
}
getch();
}
4) Sea el arreglo: arrayPrincipal[10]={1,2,3,7,4,1,7,1,2,1}, realizar un programa tal que nos indique cuantas veces
se repite cada elemento del arreglo representándolo con asteriscos.
#include <iostream.h>
#include <conio.h>
void main(){
int arrayPrincipal[10]={1,2,3,7,4,1,7,1,2,1};
int aux[10];
int pos,size=10,contador;
for(int i=0;i<size;i++){
pos=0;
contador=0;
for(int j=0;j<size;j++){
if(arrayPrincipal[i] != arrayPrincipal[j]){
aux[pos++]=arrayPrincipal[j];
}else{
contador++;
}
}
cout<<"el numero "<<arrayPrincipal[i]<< " se repite: ";
for(int u=0;u<contador;u++){
cout<<"*";
}
cout<<"n";
size-=contador;
for(int u=0;u<size;u++){
arrayPrincipal[u]=aux[u];
}
i--;
}
getch();
}
5) Ingresar un arreglo con elementos entre 1 y 20 e incrustar un elemento. Se debe ingresar el elemento a
incrustar y la posición donde se quiere poner.
#include<fstream.h> //incrusta un element:
#include<conio.h>
#include<stdlib.h>
int main(){
int t[80],n,elemento, posicion;
cout<<"Ingrese el numero de datos:n";
cin>>n;
for (int i=0;i<8;i++){
t[i]= 1+rand()%(20);
}
cout<<"el arreglo es:n";
for (int i=0;i<n;i++){
cout<<t[i]<<"t";
}
cout<<"n";
do{
cout<<"Posicion donde insertar (de 0 a "<<n-1<<"):n";
cin>>posicion;
}while(posicion<0 || posicion>n-1);
cout<<"Nuevo elemento:n";
cin>>elemento;
for (int i=n-1;i>=posicion;i--){
t[i+1]=t[i];
}
t[posicion] =elemento;
cout<<("La tabla queda:n");
for (int i=0;i<n+1;i++)
cout<<t[i]<<"t";
getch();
}
6) Ingresar un arreglo con elementos entre 1 y 10 luego eliminar un elemento. Se debe ingresar la posición del
elemento a eliminar.
#include<fstream.h> //elimina un elemento
#include<conio.h>
#include<stdlib.h>
int main(){
int t[80],n,pos;
cout<<"ingrese longitud de arreglo:n";
cin>>n;
for (int i=0;i<n;i++){
t[i]= 1+rand()%(10);
}
cout<<"el arreglo es:n";
for (int i=0;i<n;i++){
cout<<t[i]<<"t";
}
cout<<"n";
do{
cout<<"Posicion a eliminar (de 0 a "<<n-1<<"):n";
cin>>pos;
}while(pos<0 || pos>n-1);
for (int i=pos;i<n-1;i++){
t[i]=t[i+1];
}
cout<<("El arreglo queda:n");
for (int i=0;i<n-1;i++){
cout<<t[i]<<"t";
}
getch();
}
7) Ingresar un arreglo y un número y elaborar un programa tal que el numero ingresado quede incrustado
automáticamente en el arreglo original de manera que este ordenado de mayora menor.
#include<fstream.h>//pone automaticamente
#include<conio.h>
#include<stdlib.h>
int main(){
int t[80],n,aux,num,pos,j;
cout<<"ingrese longitud de arreglo:n";
cin>>n;
cout<<"ingrese cantidad a incrustar:n";
cin>>num;
for (int i=0;i<n;i++){
cout<<"ingrese el elemento "<<i+1<<": ";
cin>>t[i];
}
cout<<"el arreglo es:n";
for (int i=0;i<n;i++){
cout<<t[i]<<" ";
}
cout<<"n";
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(t[i]>t[j]){
aux=t[j];
t[j]=t[i];
t[i]=aux;
}
}
}
pos=0;j=0;
while(t[j]<num && j<n){
j++;pos++;
}
for(int i=n-1;i>=pos;i--){
t[i+1]=t[i];
}
t[pos] =num;
cout<<("nEl arrelo con el nuevo elemento ordenado queda:n");
for (int i=0;i<n+1;i++)
cout<<t[i]<<" ";
getch();
}
8) Elaborar un programa que elimine los elementos repetidos de un arreglo.
#include<fstream.h> //elimina repeticiones 2doM
#include <conio.h>
void main(){
int a[80],n;
cout<<"Ingrese el numero de datos:n";
cin>>n;
for(int i=0;i<n;i++){
cout << "Ingrese la posicion ["<<i<<"] : ";
cin >> a[i];
}
cout<<"n";
cout<<"el arreglo es: n";
for(int i=0;i<n;i++){
cout<<a[i]<<"t";
}cout<<"n";
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(a[i]==a[j]){
for(int k=j;k<n-1; k++){
a[k] = a[k+1];
}
n--;j--;
}
}
}
cout<<"el arreglo sin repeticiones es:n";
for(int i=0;i<n;i++){
cout<<a[i]<<"t";
}
getch();
}
9) Elaborar un programa tal que al ingresar un arreglo (elementos entre 1 y 50) y calcular el pivote como la
semisuma del primer y último elemento, se colocan los elementos menores que el pivote a la izquierda mientras
los mayores a la derecha.
#include <iostream.h>//pivote
#include<stdlib.h>
#include <conio.h>
void main(){
int a[80],n,r,aux;
float pivot;
cout<<"Ingrese el numero de datos:n";
cin>>n;
for(int i=0;i<n;i++){
a[i]= 1+rand()%(49);;
}
cout<<"n";
cout<<"el arreglo es:n";
for(int i=0;i<n;i++){
cout<<a[i]<<", ";
}
cout<<"n";
pivot=1.0*(a[0]+a[n-1])/2;r=0;
for(int i=0;i<n;i++){
if(a[i]<=pivot){
for(int j=i;j>r;j--){
aux=a[j-1];
a[j-1]=a[j];
a[j]=aux;
}
r++;
}
}
cout<<"n";
cout<<"el pivot es: "<<pivot<<"n";
cout<<"nel arreglo final es: n";
for(int i=0;i<n;i++){
cout<<a[i]<<", ";
}
getch();
}
10) Imprimir un histograma de las edades del curso de MA713, el número de asteriscos se corresponde con el
número de alumnos, las edades están entre 15 y 25 años.
#include <conio.h>
#include<stdlib.h>
void main(){
int a[100],f[100],n,u,v,max;
cout<<"Ingrese el numero de datos:n"; //numero de alumnos
cin>>n;
do{
cout<<"Ingrese rango de datos:n"; //rango de edades
cin>>u>>v;
if(u>=v || u<0 || v<0)cout<<"orden no validon";// u tiene que ser mayor que v
}while(u>=v || u<0 || v<0);
for(int i=u;i<=v;i++)f[i]=0;
for(int j=0;j<n;j++){
a[j]=u+rand()%(v-u+1);
f[a[j]]++;
}
cout<<"n";
cout<<"el arreglo de frecuencias es: nn";
for(int i=u;i<=v;i++){
cout<<""<<i<<":";
for(int j=0;j<f[i];j++){
cout<<"*";
}cout<<"n";
}
getch();
}
11) Sea el arreglo a={7,11,3,11,17,18}, desarrollar un programa tal que desplace el arreglo cierta cantidad. Por
ejemplo si quiero desplazar en una cantidad 3 resultaría a={11,17,18,7,11,3}.
#include<fstream.h> //desplaza “de” posiciones
#include<conio.h>
#include<stdlib.h>
int main(){
int t[80],ultimo,n,de;
cout<<"ingrese longitud de arreglo:n";
cin>>n;
cout<<"ingrese cantidad a desplazar:n";
cin>>de;
for (int i=0;i<n;i++){
t[i]= 1+rand()%(20);
}
cout<<"el arreglo es:n";
for (int i=0;i<n;i++){
cout<<t[i]<<" ";
}
cout<<"n";
for(int i=0;i<de;i++ ){
ultimo=t[n-1];
for (int j=n-2;j>=0;j--){
t[j+1]=t[j];
}
t[0]=ultimo;
}
cout<<("nLa tabla queda:n");
for (int i=0;i<n;i++)
cout<<t[i]<<" ";
getch();
}
12) Sea cuatro puntos aleatorios en el plano cartesiano. Guardamos las abscisas y ordenadas en dos arreglos X y Y
(todos los elementos están entre 1 y 9). Encontrar la mayor distancia generada entre los cuatro puntos e indicar
los puntos que la generan.
#include<fstream.h>//problema parcial xs y ys
#include<conio.h>
#include<stdlib.h>
#include <math.h>
void main(){
int x[4],y[4],px,py,k;
float max,d[6];
for(int i=0;i<4;i++){
x[i]=1+rand()%9;
}
cout<<"el arreglo de abscisas esn";
for(int i=0;i<4;i++)
cout<<x[i]<<"t";
cout<<"nn";
for(int i=0;i<4;i++){
y[i]=1+rand()%9;
}
cout<<"el arreglo de ordenadas esn";
for(int i=0;i<4;i++)
cout<<y[i]<<"t";
cout<<"nn";
k=0;
for(int i=0;i<3;i++){
for(int j=i+1;j<4;j++){
d[k]=ceil(sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2))*100)/100;
k++;
}
}
cout<<"las distancias son: n";
for(int i=0;i<k;i++)
cout<<d[i]<<"t";
cout<<"nn";
max=d[0];
for(int i=0;i<k;i++){
if(d[i]>max)
max=d[i];
}
k=0;
for(int i=0;i<3;i++){
for(int j=i+1;j<4;j++){
d[k]=ceil(sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2))*100)/100;
if(d[k]==max){
px=i;py=j;
}
k++;
}
}
cout<<"la mayor distancia es "<<max<<" n";
cout<<"los puntos x:"<<x[px]<<" y "<<x[py]<<" n";
cout<<"los puntos y:"<<y[px]<<" y "<<y[py]<<" n";
getch();
}
13) Dibujar una letra R con asteriscos ingresando el ancho y largo iguales.
#include<fstream.h> // letra R
#include<conio.h>
int main(){
int n;
cout<<"ingrese ancho y largo n:n";
cin>>n;cout<<"n";
for(int f=0;f<n;f++){
for(int c=0;c<n;c++){
if(c==0||f==0||(f==n/2 && c>=n/2)||(c==n-1&&f<=n/2)||(c>=n/2&&f==c)){
cout<<"*";
}
else{
cout<<" ";
}
}
cout<<"n";
}
getch();
}
14) Dibujar la letra K con asteriscos ingresando el ancho y largo iguales.
#include<fstream.h> // letra K
#include<conio.h>
int main(){
int n;
cout<<"ingrese ancho y largo n:n";
cin>>n;cout<<"n";
for(int f=0;f<n;f++){
for(int c=0;c<n;c++){
if(c==0||(c>=n/2&&c+f==n-1)||(c>=n/2&&c==f)){
cout<<"*";
}
else{
cout<<" ";
}
}
cout<<"n";
}
getch();
}
15) Elaborar una tabla de frecuencias al ingresar una cantidad de datos. Encontrar el máximoy mínimo valor, el
numero d intervalos y longitud del intervalo.
#include<fstream.h>
#include<conio.h>
#include<math.h>
void ingresavector(int a[100],int &n);
void ordenavector(int a[100], int n, int &mayor, int &menor);
void frecuencias(int a[100], int n, int mayor, int menor);
void imprimevector(int b[100],int n1);
void main(){
int n, a[80],mayor,menor;
ingresavector(a,n);
cout<<"el vector es: n";
imprimevector(a,n);
ordenavector(a,n,mayor,menor);
frecuencias(a,n,mayor,menor);
getch();
}
void ingresavector(int a[100],int &n){
cout<<"ingrese cantidad de elemntos del vector: ";cin>>n;
while(n<=0 || n>100){
cout << "cantidad no valida, vuelva a ingresar:n"; cin >> n;
}
for(int i=0;i<n;i++){
cout<<"ingrese el elemento "<<i+1<<": ";
cin>>a[i];
}
cout<<"n";
}
void ordenavector(int a[100],int n,int &mayor,int &menor){
mayor=menor=a[0];
for(int i=0;i<n;i++){
if(mayor<a[i]){
mayor=a[i];
}
if(menor>a[i]){
menor=a[i];
}
}
cout<<"el mayor elemento es: "<<mayor<<" n";
cout<<"el menor elemento es: "<<menor<<"n";
}
void frecuencias(int a[100], int n, int mayor, int menor){
int I[100],S[100],F[100],con;float ni, ti;
ni = 1+3.32*log10(1.0*n); ti =1.0*(mayor-menor) / ni;
if(ni<0.5*(ceil(ni)+floor(ni))){ //redondeamos correctamente
ni=floor(ni);
}else{
ni=ceil(ni);
}
if(ti<0.5*(ceil(ti)+floor(ti))){ //redondeamos correctamente
ti=floor(ti);
}else{
ti=ceil(ti);
}
cout<<"EL numero de intervalos es:"<<ni<<"n";cout<<"longitud del intervalo es:"<<ti<<"n";
I[0]=menor;S[0]=menor+ti-1;
for(int i=1;i<ni;i++){
I[i]=S[i-1]+1;S[i]=I[i]+ti-1;
}
for(int i=0;i<ni;i++){
con=0;
for(int j=0;j<n;j++){
if(a[j]>=I[i] && a[j]<=S[i]){
con++;
}
}
F[i]=con;
}
cout<<"La tabla de frecuencias es:n";
for(int i=0;i<ni;i++){
cout<<"["<<I[i]<<"-"<<S[i]+1<<">"<<"t"<<F[i]<<"n";
}
}
void imprimevector(int b[100],int n1){
for(int i=0;i<n1;i++){
cout<<b[i]<<", ";
}
cout<<"n";
}
16) suponga que se le pide a 20 personascalificar con las letras a b c d y e el desempeñodel
gobiernoactual. Realiza el histograma para esta colecciónde datos con asteriscos.
Ejemplo: respuestas:c b c a b c d e e a b b d c a c c b d a.
a: 4 a: ****
b:5 b: *****
c: 6 c: ******
d: 3 d: ***
e: 2 e: **
sol:
#include <iostream.h>
#include <conio.h>
void ingresaArreglo(char dato[80], int &n);
void imprimeArreglo(char dato[80], int n);
void histograma(char dato[80], int n);
void main(){
char dato[80];
int n;
ingresaArreglo(dato, n);
cout << "las calificaciones al gobierno son:n";
imprimeArreglo(dato, n);
cout << "El histograma es:n";
histograma(dato, n);
getch();
}
void ingresaArreglo(char dato[80], int &n){
cout << "ingrese cantidad de encuestados: "; cin >> n;
while (n <= 0 || n>80){
cout << "cantidad no valida, vuelva a ingresar:n"; cin >> n;
}
for (int i = 0; i<n; i++){
cout << "opinion " << i + 1 << ": ";
cin >> dato[i];
if(dato[i]<97 || dato[i]>101){
cout<<"valor vo valido, reingresen";i--; //si ingresas letras distintas a lo establecido
}
}
cout << "n";
}
void imprimeArreglo(char dato[80], int n){
for (int i = 0; i<n; i++){
cout << dato[i] << " ";
}
cout << "n";
}
void histograma(char dato[80], int n){
char aux[80], sw; int pos, con;
for (int i = 0; i < n; i++){ //ordenamos alfabeticamente
for (int j = i + 1; j < n; j++){
if (dato[j] < dato[i]){
sw = dato[i];
dato[i] = dato[j];
dato[j] = sw;
}
}
}
for (int i = 0; i < n; i++){
pos = 0, con = 0;
for (int j = 0; j < n; j++){
if (dato[i] != dato[j]){
aux[pos++] = dato[j];
}
else{
con++;
}
}
cout << "" << dato[i] << ": " << con << "" << "t" << "" << dato[i] << ": ";
for (int u = 0; u < con; u++){
cout << "*";
}
cout << "n";
n -= con;
for (int u = 0; u<n; u++){
dato[u] = aux[u];
}
i--;
}
}
17) programa para multiplicar dos matrices validando orden de multiplicación 𝒄𝒊𝒋 =𝒂𝒊𝒌*𝒃 𝒌𝒋
#include<fstream.h>//multiplicacion de matrices
#include<conio.h>
#include<stdlib.h>
void main(){
int A[80][80],B[80][80],C[80][80],fa,ca,fb,cb,suma;
do{
cout<<"introduce filas de A:n";
cin>>fa;
cout<<"introduce columnas de A:n";
cin>>ca;
cout<<"introduce filas de B:n";
cin>>fb;
cout<<"introduce columnas de B:n";
cin>>cb;
if(ca!=fb|| ca<=0 || fb<=0)
cout<<"orden no valido para la multiplicacionn";
}while(ca!=fb || ca<=0 || fb<=0);
for(int i=0;i<fa;i++){
for(int j=0;j<ca;j++){
A[i][j]=1+rand()%(9);
}
}
for(int i=0;i<fb;i++){
for(int j=0;j<cb;j++){
B[i][j]=1+rand()%(20);
}
}
cout<<"nla matriz A es:n";
for(int i=0;i<fa;i++){
for(int j=0;j<ca;j++){
cout<<A[i][j]<<"t";
}
cout<<"n";
}
cout<<"nla matriz B es:n";
for(int i=0;i<fb;i++){
for(int j=0;j<cb;j++){
cout<<B[i][j]<<"t";
}
cout<<"n";
}
for(int i=0;i<fa;i++){
for(int j=0;j<cb;j++){
suma=0;
for(int k=0;k<fb;k++){
suma=suma+A[i][k]*B[k][j];
}
C[i][j]=suma;
}
}
cout<<"nla matriz producto es:n";
for(int i=0;i<fa;i++){
for(int j=0;j<cb;j++){
cout<<C[i][j]<<"t";
}
cout<<"n";
}
getch();
}
18) Encontrar el programa para un cuadrado mágicode orden impar valido para orden 3,5,7,9,11.
#include <iostream.h>//cuadrado magico
#include<conio.h>
void main(){
int a[100][100],n,i,j,k,inicio,fin,prer,prec;
cout<<"ingrese dimencion de matriz cuadrada:n";
cin>>n;
while (n%2==0){
cout<<"Debes digitar solo valores imparesn";
cout<<"digite un nuevo valor:n";
cin>>n;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
a[i][j]=0;
}
}
inicio=n/2;
fin=n*n;
a[0][inicio] = 1;
i=0;
j=inicio;
for(k=2;k<=fin;k++){
prer=i;
prec=j;
i--;
if(i<0)
i=n-1;
j--;
if(j<0)
j=n-1;
if(a[i][j]!=0)
{
i=prer;
j=prec;
i++;
if(i>n-1)
i = 0;
a[i][j]=k;
}
else
a[i][j]=k;
}
cout<<"nel cuadrado magico es:n";
for(i=0; i<n; i++){
for(j=0; j<n; j++){
cout<<a[i][j]<<"t";
}
cout<<"n";
}
getch();
}
19) Desplazarlas filas de una matriz hacia abajo (la primera pasara a serla segunda, la segunda será la tercera,
etc., y la última pasara a ser primera).
#include<fstream.h>
#include <conio.h>
#include<stdlib.h>
void ingrezaMatriz(int a[80][80],int &n,int &m);
void desplaza(int a[80][80],int n,int m);
void muestraMatriz(int a[80][80],int n,int m);
void main(){
int a[80][80],n,m;
ingrezaMatriz(a,n,m);
cout<<"la matriz orignal es: nn";
muestraMatriz(a,n,m);
desplaza(a,n,m);
cout<<"nLa nueva matriz es:nn";
muestraMatriz(a,n,m);
getch();
}
void ingrezaMatriz(int a[80][80],int &n,int &m){
cout<<"ingrese dimencion:n";cin>>n>>m;
while(n<2 || m<2){
cout<<"dimencion no valida,reingresa:n";cin>>n>>m;
}
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
a[i][j]=1+rand()%(9);
}
}
cout<<"n";
}
void desplaza(int a[80][80],int n,int m){
int u[80],aux;
for(int j=0;j<m;j++){
u[j]=a[n-1][j];
}
for(int i=n-2;i>=0;i--){
for(int j=0;j<m;j++){
a[i+1][j]=a[i][j];
}
}
for(int j=0;j<m;j++){
a[0][j]=u[j];
}
}
void muestraMatriz(int a[80][80],int n,int m){
for (int i=0;i<n;i++){
for (int j=0;j<m;j++){
cout <<a[i][j]<<"t";
}
cout << "n";
}
}
20) Invertir los elementos de la diagonal principal de una matriz cuadrada.
#include<fstream.h>
#include <conio.h>
#include<stdlib.h>
void ingrezaMatriz(int a[80][80],int &n);
void invierte(int a[80][80],int n);
void muestraMatriz(int a[80][80],int n);
void main(){
int a[80][80],n;
ingrezaMatriz(a,n);
cout<<"la matriz orignal es: nn";
muestraMatriz(a,n);
invierte(a,n);
cout<<"nLa nueva matriz es:nn";
muestraMatriz(a,n);
getch();
}
void ingrezaMatriz(int a[80][80],int &n){
cout<<"ingrese dimencion:n";cin>>n;
while(n<2){
cout<<"dimencion no valida,reingresa:n";cin>>n;
}
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
a[i][j]=10+rand()%(81);
}
}
cout<<"n";
}
void invierte(int a[80][80],int n){
int aux;
for (int i=0;i<n/2;i++){
aux=a[i][i];a[i][i]=a[n-1-i][n-1-i];a[n-1-i][n-1-i]=aux;
}
}
void muestraMatriz(int a[80][80],int n){
for (int i=0;i<n;i++){
for (int j=0;j<n;j++){
cout <<a[i][j]<<"t";
}
cout << "nn";
}
}

Más contenido relacionado

La actualidad más candente

Bucles anidados 2012
Bucles anidados 2012Bucles anidados 2012
Bucles anidados 2012Gabii Méndez
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.Javier Cuenca
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmosjhonshebax
 
Ejercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadasEjercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadasAlejandro Pacheco
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 
Fundamentos de programación librería string C++
Fundamentos de programación librería string C++Fundamentos de programación librería string C++
Fundamentos de programación librería string C++Milton Nicolay
 
10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-whileDelvi Ramirez
 
Diagrama de flujo y programacion
Diagrama de flujo y programacionDiagrama de flujo y programacion
Diagrama de flujo y programacionCriss Russo
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadenaTensor
 
Ejercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registrosEjercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registrosrasave
 
curso Pseint 1 (16 ejercicios basicos)
curso Pseint 1 (16 ejercicios basicos)curso Pseint 1 (16 ejercicios basicos)
curso Pseint 1 (16 ejercicios basicos)Luis Ancel
 
Trabajo de algoritmos
Trabajo de algoritmosTrabajo de algoritmos
Trabajo de algoritmos1002pc16
 
Mapa conceptual de c++
Mapa conceptual de c++Mapa conceptual de c++
Mapa conceptual de c++JoseManuel625
 
Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)Andres Rivero
 
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmos
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmosEjercicios propuestos ejemplos de diagrama de flujo y algoritmos
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmosfabiocelis
 
4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedoc
4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedoc4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedoc
4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedocEcler Mamani Vilca
 

La actualidad más candente (20)

Bucles anidados 2012
Bucles anidados 2012Bucles anidados 2012
Bucles anidados 2012
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Ejercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadasEjercicios de estructura selectiva anidadas
Ejercicios de estructura selectiva anidadas
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Respuestas módulo 2
Respuestas  módulo 2Respuestas  módulo 2
Respuestas módulo 2
 
Fundamentos de programación librería string C++
Fundamentos de programación librería string C++Fundamentos de programación librería string C++
Fundamentos de programación librería string C++
 
10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-while
 
Diagrama de flujo y programacion
Diagrama de flujo y programacionDiagrama de flujo y programacion
Diagrama de flujo y programacion
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Ejercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registrosEjercicios resueltos en el Laboratorio de estructuras struct registros
Ejercicios resueltos en el Laboratorio de estructuras struct registros
 
curso Pseint 1 (16 ejercicios basicos)
curso Pseint 1 (16 ejercicios basicos)curso Pseint 1 (16 ejercicios basicos)
curso Pseint 1 (16 ejercicios basicos)
 
Trabajo de algoritmos
Trabajo de algoritmosTrabajo de algoritmos
Trabajo de algoritmos
 
C++ TUTORIAL 5
C++ TUTORIAL 5C++ TUTORIAL 5
C++ TUTORIAL 5
 
Mapa conceptual de c++
Mapa conceptual de c++Mapa conceptual de c++
Mapa conceptual de c++
 
Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)Algoritmos 50 ejemplos (1)
Algoritmos 50 ejemplos (1)
 
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmos
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmosEjercicios propuestos ejemplos de diagrama de flujo y algoritmos
Ejercicios propuestos ejemplos de diagrama de flujo y algoritmos
 
7.arreglos y vectores en c++
7.arreglos y vectores en c++7.arreglos y vectores en c++
7.arreglos y vectores en c++
 
4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedoc
4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedoc4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedoc
4 libro fundamentos _condicional_oficio_2003_para_publicars_slidesharedoc
 

Destacado

Introducción a la programación orientada a objetos empleando c++
Introducción a la programación orientada a objetos empleando c++Introducción a la programación orientada a objetos empleando c++
Introducción a la programación orientada a objetos empleando c++Aldo Hernán Zanabria Gálvez
 
Manual c++
Manual c++Manual c++
Manual c++slent
 
Transformaciones continuas
Transformaciones continuasTransformaciones continuas
Transformaciones continuasjosedario13
 
Introduccion C++ y Borland c++ 5.02
Introduccion C++ y Borland c++ 5.02Introduccion C++ y Borland c++ 5.02
Introduccion C++ y Borland c++ 5.02Sistemas Crackz
 
Ejemplos Borland C++ Builder
Ejemplos Borland C++ BuilderEjemplos Borland C++ Builder
Ejemplos Borland C++ BuilderDarwin Durand
 
Ejercicios Resueltos en C
Ejercicios Resueltos en CEjercicios Resueltos en C
Ejercicios Resueltos en Csolucionescip
 
0603 tc1001 act programación básica c++
0603 tc1001 act programación básica c++0603 tc1001 act programación básica c++
0603 tc1001 act programación básica c++nylh_star
 
introduccion c++
 introduccion c++ introduccion c++
introduccion c++MartinRiggs
 
Generalidades de la programacion
Generalidades de la programacionGeneralidades de la programacion
Generalidades de la programacionDiego Rojas
 
Ejercicios propuestos
Ejercicios propuestosEjercicios propuestos
Ejercicios propuestosNery Davila
 
Ejercicios c++ ujcm iniciales
Ejercicios c++ ujcm inicialesEjercicios c++ ujcm iniciales
Ejercicios c++ ujcm inicialesMarleny hf
 
Lenguaje de Programación II
Lenguaje de Programación IILenguaje de Programación II
Lenguaje de Programación IIJavier Rivera
 
Procesos Universles
Procesos UniverslesProcesos Universles
Procesos Universlesdesimartinez
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do WhileJoshe Varillas
 

Destacado (20)

Introducción a la programación orientada a objetos empleando c++
Introducción a la programación orientada a objetos empleando c++Introducción a la programación orientada a objetos empleando c++
Introducción a la programación orientada a objetos empleando c++
 
Manual c++
Manual c++Manual c++
Manual c++
 
Transformaciones continuas
Transformaciones continuasTransformaciones continuas
Transformaciones continuas
 
Introduccion C++ y Borland c++ 5.02
Introduccion C++ y Borland c++ 5.02Introduccion C++ y Borland c++ 5.02
Introduccion C++ y Borland c++ 5.02
 
Manual C++
Manual C++Manual C++
Manual C++
 
Ejemplos Borland C++ Builder
Ejemplos Borland C++ BuilderEjemplos Borland C++ Builder
Ejemplos Borland C++ Builder
 
Ejercicios Resueltos en C
Ejercicios Resueltos en CEjercicios Resueltos en C
Ejercicios Resueltos en C
 
0603 tc1001 act programación básica c++
0603 tc1001 act programación básica c++0603 tc1001 act programación básica c++
0603 tc1001 act programación básica c++
 
introduccion c++
 introduccion c++ introduccion c++
introduccion c++
 
Generalidades de la programacion
Generalidades de la programacionGeneralidades de la programacion
Generalidades de la programacion
 
Ejercicios propuestos
Ejercicios propuestosEjercicios propuestos
Ejercicios propuestos
 
Ejercicios c++ ujcm iniciales
Ejercicios c++ ujcm inicialesEjercicios c++ ujcm iniciales
Ejercicios c++ ujcm iniciales
 
Ejercicios de sentencias basicas
Ejercicios de sentencias basicasEjercicios de sentencias basicas
Ejercicios de sentencias basicas
 
Lenguaje de Programación II
Lenguaje de Programación IILenguaje de Programación II
Lenguaje de Programación II
 
Procesos Universles
Procesos UniverslesProcesos Universles
Procesos Universles
 
Programación en C++
Programación en C++Programación en C++
Programación en C++
 
Tablas de multiplicar (código Dev C++)
Tablas de multiplicar (código Dev C++)Tablas de multiplicar (código Dev C++)
Tablas de multiplicar (código Dev C++)
 
Ejercicios de consola en c++
Ejercicios de consola en c++Ejercicios de consola en c++
Ejercicios de consola en c++
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do While
 
Ejercicio en c
Ejercicio en cEjercicio en c
Ejercicio en c
 

Similar a EJERCICIOS RESUELTOS DE BORLAND C++ FIEE UNI

Similar a EJERCICIOS RESUELTOS DE BORLAND C++ FIEE UNI (20)

Practica 1 informática ii
Practica 1 informática iiPractica 1 informática ii
Practica 1 informática ii
 
Matrices c++
Matrices c++Matrices c++
Matrices c++
 
Prob2
Prob2Prob2
Prob2
 
Jorge informe tecnico
Jorge informe tecnicoJorge informe tecnico
Jorge informe tecnico
 
Aritmetica
AritmeticaAritmetica
Aritmetica
 
Ejercicios resueltos practica 2 (nueva 2014) informática ii
Ejercicios resueltos practica 2 (nueva 2014) informática iiEjercicios resueltos practica 2 (nueva 2014) informática ii
Ejercicios resueltos practica 2 (nueva 2014) informática ii
 
Progra arreglos-undimensionales (1)
Progra arreglos-undimensionales (1)Progra arreglos-undimensionales (1)
Progra arreglos-undimensionales (1)
 
G++
G++G++
G++
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
Tipos de Ordenamiento en C
Tipos de Ordenamiento en CTipos de Ordenamiento en C
Tipos de Ordenamiento en C
 
Unidad 5 informe técnico
Unidad 5 informe técnicoUnidad 5 informe técnico
Unidad 5 informe técnico
 
Informe 2 da unidad lp
Informe 2 da unidad lpInforme 2 da unidad lp
Informe 2 da unidad lp
 
Codificaciones c++
Codificaciones c++Codificaciones c++
Codificaciones c++
 
Codificaciones c++
Codificaciones c++Codificaciones c++
Codificaciones c++
 
Codificaciones c++2011
Codificaciones c++2011Codificaciones c++2011
Codificaciones c++2011
 
Arreglo
ArregloArreglo
Arreglo
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2b
 
Algoritmos en c++
Algoritmos en c++Algoritmos en c++
Algoritmos en c++
 
Sol.proble.practic lp
Sol.proble.practic lpSol.proble.practic lp
Sol.proble.practic lp
 

Último

Ssesion de aprendizaje Cinematica-MRU - Fisica
Ssesion de aprendizaje Cinematica-MRU - FisicaSsesion de aprendizaje Cinematica-MRU - Fisica
Ssesion de aprendizaje Cinematica-MRU - FisicaKarenMeybyRiveraTorr
 
cccccccccccccccccccccMemorias_dengue.pdf
cccccccccccccccccccccMemorias_dengue.pdfcccccccccccccccccccccMemorias_dengue.pdf
cccccccccccccccccccccMemorias_dengue.pdfestefaniagomezotavo
 
Trayectoria histórica, exponentes y perspectivas del pensamiento sistémico: u...
Trayectoria histórica, exponentes y perspectivas del pensamiento sistémico: u...Trayectoria histórica, exponentes y perspectivas del pensamiento sistémico: u...
Trayectoria histórica, exponentes y perspectivas del pensamiento sistémico: u...Ximena Salazar
 
Algebra Lineal - Eduardo Espinoza Ramos.pdf
Algebra Lineal - Eduardo Espinoza Ramos.pdfAlgebra Lineal - Eduardo Espinoza Ramos.pdf
Algebra Lineal - Eduardo Espinoza Ramos.pdfssuser924464
 
biografia de emmy noether, quien fue, estudios, trayectoria
biografia de emmy noether, quien fue, estudios, trayectoriabiografia de emmy noether, quien fue, estudios, trayectoria
biografia de emmy noether, quien fue, estudios, trayectoriaeyruizjimenez
 
ANALISIS DE PERFIL LIPIDIOCO PRACTICA 05.docx
ANALISIS DE PERFIL LIPIDIOCO PRACTICA 05.docxANALISIS DE PERFIL LIPIDIOCO PRACTICA 05.docx
ANALISIS DE PERFIL LIPIDIOCO PRACTICA 05.docxMaryuriOlaya1
 
ESPECTROSCOPIA IR ESPECTROSCOPIA IR doc
ESPECTROSCOPIA IR  ESPECTROSCOPIA IR docESPECTROSCOPIA IR  ESPECTROSCOPIA IR doc
ESPECTROSCOPIA IR ESPECTROSCOPIA IR docIngridDoraliCruzSant
 
Los lípidos, estructura química y función
Los lípidos, estructura  química y funciónLos lípidos, estructura  química y función
Los lípidos, estructura química y funciónvmvillegasco
 
García Gual, C. - Las primeras novelas. Desde la Grecia clásica hasta la Edad...
García Gual, C. - Las primeras novelas. Desde la Grecia clásica hasta la Edad...García Gual, C. - Las primeras novelas. Desde la Grecia clásica hasta la Edad...
García Gual, C. - Las primeras novelas. Desde la Grecia clásica hasta la Edad...frank0071
 
The day after Roswell.Libro de Philip J. Corso y William J. Birnes
The day after Roswell.Libro de Philip J. Corso y William J. BirnesThe day after Roswell.Libro de Philip J. Corso y William J. Birnes
The day after Roswell.Libro de Philip J. Corso y William J. BirnesMaria87434
 
TRIPTICO COVID 2024 recomendaciones .pdf
TRIPTICO COVID 2024 recomendaciones .pdfTRIPTICO COVID 2024 recomendaciones .pdf
TRIPTICO COVID 2024 recomendaciones .pdfKarolineRuzCarrera
 
MYCROPLASMOSIS AVIAR(MYCOPLASMA GALLISEPTICUM) (711063).pptx
MYCROPLASMOSIS AVIAR(MYCOPLASMA GALLISEPTICUM) (711063).pptxMYCROPLASMOSIS AVIAR(MYCOPLASMA GALLISEPTICUM) (711063).pptx
MYCROPLASMOSIS AVIAR(MYCOPLASMA GALLISEPTICUM) (711063).pptxALEXISBARBOSAARENIZ
 
La teoría de formación de Patricia Benner es una explicación acerca de cómo e...
La teoría de formación de Patricia Benner es una explicación acerca de cómo e...La teoría de formación de Patricia Benner es una explicación acerca de cómo e...
La teoría de formación de Patricia Benner es una explicación acerca de cómo e...FernandaDillanes1
 
Estudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptxEstudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptxJoseAlbertoArmenta
 
2.-Tema Genetica y el sistema del ser humano
2.-Tema Genetica y el sistema del ser humano2.-Tema Genetica y el sistema del ser humano
2.-Tema Genetica y el sistema del ser humanoKaterineElizabethCor1
 
6. LESION RENAL AGUDA tomado de medicina interna de harrison
6. LESION RENAL AGUDA  tomado de medicina interna de harrison6. LESION RENAL AGUDA  tomado de medicina interna de harrison
6. LESION RENAL AGUDA tomado de medicina interna de harrisonDouglasOcon
 
Estudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptxEstudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptxJoseAlbertoArmenta
 
Proyecto socio productivo y social uptaeb
Proyecto socio productivo y social  uptaebProyecto socio productivo y social  uptaeb
Proyecto socio productivo y social uptaebkatyuska7
 
1891 - 14 de Julio - Rohrmann recibió una patente alemana (n° 64.209) para s...
1891 - 14 de Julio - Rohrmann recibió una patente alemana (n° 64.209)  para s...1891 - 14 de Julio - Rohrmann recibió una patente alemana (n° 64.209)  para s...
1891 - 14 de Julio - Rohrmann recibió una patente alemana (n° 64.209) para s...Champs Elysee Roldan
 
metabolismo vegetal, metabolitos secundarios
metabolismo vegetal, metabolitos secundariosmetabolismo vegetal, metabolitos secundarios
metabolismo vegetal, metabolitos secundariosedycalsin1
 

Último (20)

Ssesion de aprendizaje Cinematica-MRU - Fisica
Ssesion de aprendizaje Cinematica-MRU - FisicaSsesion de aprendizaje Cinematica-MRU - Fisica
Ssesion de aprendizaje Cinematica-MRU - Fisica
 
cccccccccccccccccccccMemorias_dengue.pdf
cccccccccccccccccccccMemorias_dengue.pdfcccccccccccccccccccccMemorias_dengue.pdf
cccccccccccccccccccccMemorias_dengue.pdf
 
Trayectoria histórica, exponentes y perspectivas del pensamiento sistémico: u...
Trayectoria histórica, exponentes y perspectivas del pensamiento sistémico: u...Trayectoria histórica, exponentes y perspectivas del pensamiento sistémico: u...
Trayectoria histórica, exponentes y perspectivas del pensamiento sistémico: u...
 
Algebra Lineal - Eduardo Espinoza Ramos.pdf
Algebra Lineal - Eduardo Espinoza Ramos.pdfAlgebra Lineal - Eduardo Espinoza Ramos.pdf
Algebra Lineal - Eduardo Espinoza Ramos.pdf
 
biografia de emmy noether, quien fue, estudios, trayectoria
biografia de emmy noether, quien fue, estudios, trayectoriabiografia de emmy noether, quien fue, estudios, trayectoria
biografia de emmy noether, quien fue, estudios, trayectoria
 
ANALISIS DE PERFIL LIPIDIOCO PRACTICA 05.docx
ANALISIS DE PERFIL LIPIDIOCO PRACTICA 05.docxANALISIS DE PERFIL LIPIDIOCO PRACTICA 05.docx
ANALISIS DE PERFIL LIPIDIOCO PRACTICA 05.docx
 
ESPECTROSCOPIA IR ESPECTROSCOPIA IR doc
ESPECTROSCOPIA IR  ESPECTROSCOPIA IR docESPECTROSCOPIA IR  ESPECTROSCOPIA IR doc
ESPECTROSCOPIA IR ESPECTROSCOPIA IR doc
 
Los lípidos, estructura química y función
Los lípidos, estructura  química y funciónLos lípidos, estructura  química y función
Los lípidos, estructura química y función
 
García Gual, C. - Las primeras novelas. Desde la Grecia clásica hasta la Edad...
García Gual, C. - Las primeras novelas. Desde la Grecia clásica hasta la Edad...García Gual, C. - Las primeras novelas. Desde la Grecia clásica hasta la Edad...
García Gual, C. - Las primeras novelas. Desde la Grecia clásica hasta la Edad...
 
The day after Roswell.Libro de Philip J. Corso y William J. Birnes
The day after Roswell.Libro de Philip J. Corso y William J. BirnesThe day after Roswell.Libro de Philip J. Corso y William J. Birnes
The day after Roswell.Libro de Philip J. Corso y William J. Birnes
 
TRIPTICO COVID 2024 recomendaciones .pdf
TRIPTICO COVID 2024 recomendaciones .pdfTRIPTICO COVID 2024 recomendaciones .pdf
TRIPTICO COVID 2024 recomendaciones .pdf
 
MYCROPLASMOSIS AVIAR(MYCOPLASMA GALLISEPTICUM) (711063).pptx
MYCROPLASMOSIS AVIAR(MYCOPLASMA GALLISEPTICUM) (711063).pptxMYCROPLASMOSIS AVIAR(MYCOPLASMA GALLISEPTICUM) (711063).pptx
MYCROPLASMOSIS AVIAR(MYCOPLASMA GALLISEPTICUM) (711063).pptx
 
La teoría de formación de Patricia Benner es una explicación acerca de cómo e...
La teoría de formación de Patricia Benner es una explicación acerca de cómo e...La teoría de formación de Patricia Benner es una explicación acerca de cómo e...
La teoría de formación de Patricia Benner es una explicación acerca de cómo e...
 
Estudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptxEstudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptx
 
2.-Tema Genetica y el sistema del ser humano
2.-Tema Genetica y el sistema del ser humano2.-Tema Genetica y el sistema del ser humano
2.-Tema Genetica y el sistema del ser humano
 
6. LESION RENAL AGUDA tomado de medicina interna de harrison
6. LESION RENAL AGUDA  tomado de medicina interna de harrison6. LESION RENAL AGUDA  tomado de medicina interna de harrison
6. LESION RENAL AGUDA tomado de medicina interna de harrison
 
Estudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptxEstudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptx
 
Proyecto socio productivo y social uptaeb
Proyecto socio productivo y social  uptaebProyecto socio productivo y social  uptaeb
Proyecto socio productivo y social uptaeb
 
1891 - 14 de Julio - Rohrmann recibió una patente alemana (n° 64.209) para s...
1891 - 14 de Julio - Rohrmann recibió una patente alemana (n° 64.209)  para s...1891 - 14 de Julio - Rohrmann recibió una patente alemana (n° 64.209)  para s...
1891 - 14 de Julio - Rohrmann recibió una patente alemana (n° 64.209) para s...
 
metabolismo vegetal, metabolitos secundarios
metabolismo vegetal, metabolitos secundariosmetabolismo vegetal, metabolitos secundarios
metabolismo vegetal, metabolitos secundarios
 

EJERCICIOS RESUELTOS DE BORLAND C++ FIEE UNI

  • 1. PROGRAMACION DIGITAL (FIEE-UNI) 1) Calcule la edad exacta de una persona en años, meses y días. El programa debe pedir ingresar la fecha de nacimiento y la fecha actual, los cuales deben estar validados, caso contrario debe pedir reingresar datos(999<año<10000). El programa usa 2 funciones: fecha valida: calcular edad: sol: #include<fstream.h> #include <conio.h> bool validaFecha(int,int,int); void calculaEdad(int,int,int,int,int,int); void main(){ int an,mn,dn,aa,ma,da;//(año de nacimiento,mes,dia),(año actual,mes,dia) cout<<"ingrese fecha de nacimiento:n"; cin>>dn>>mn>>an; while(!validaFecha(dn,mn,an)){ cout<<"fecha no valida, vuelva a ingrearn";cin>>dn>>mn>>an; } cout<<"fecha de nacimiento es: "<<dn<<"/"<<mn<<"/"<<an<<"nn"; cout<<"ingrese fecha actual:n"; cin>>da>>ma>>aa; while(!validaFecha(da,ma,aa) || aa<an){ cout<<"fecha no valida, vuelva a ingrearn";cin>>da>>ma>>aa; } cout<<"fecha actual es: "<<da<<"/"<<ma<<"/"<<aa<<"n"; calculaEdad(dn,mn,an,da,ma,aa); getch(); } bool validaFecha(int d,int m,int a){ int dmax,sw=0; if((a<1000 || a>9999) || (m<=0 || m>12))sw=1; switch(m){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: dmax=31;break; case 4: case 6: case 9: case 11: dmax=30;break; case 2:if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0){ dmax=29; } else{ dmax=28; }break; }
  • 2. if(d<=0 || d>dmax)sw=1;//si sw=1,la fecha es incorrecta,si sw=0 esta bien if(sw==0){ return true; }else{ return false; } } void calculaEdad(int d1,int m1,int a1,int d2,int m2,int a2){ int ea,em,ed,pd; switch(m2){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: pd=31;break; case 4: case 6: case 9: case 11: pd=30;break; case 2:if (a2 % 4 == 0 && a2 % 100 != 0 || a2 % 400 == 0){ pd=29; } else{ pd=28; }break; } if(d2<d1){ ed=d2+pd-d1;m2--;//nos hemos prestado dias if(m2<m1){ em=m2+12-m1;a2--; }else{ em=m2-m1; } ea=a2-a1; } else{ ed=d2-d1; if(m2<m1){ em=m2+12-m1;a2--; }else{ em=m2-m1; } ea=a2-a1; } cout<<"nla edad es: "<<ea<<" años "<<em<<" meses "<<ed<<" diasn"; } 2) Calcule la fecha del día anterior, teniendo en cuenta los años bisiestos. Las funciones a usar son: validaFecha fechaAyer
  • 3. #include<fstream.h> #include <conio.h> bool validaFecha(int,int,int); void fechaAyer(int,int,int); void main(){ int aa,ma,da; cout<<"ingrese fecha actual:n"; cin>>da>>ma>>aa; while(!validaFecha(da,ma,aa)){ cout<<"fecha no valida, vuelva a ingrearn";cin>>da>>ma>>aa; } cout<<"fecha actual es: "<<da<<"/"<<ma<<"/"<<aa<<"n"; fechaAyer(da,ma,aa); getch(); } bool validaFecha(int d,int m,int a){ int dmax,sw=0; if((a<1000 || a>9999)||(m<=0 || m>12))sw=1; switch(m){ case 1: case 3: case 5: case 7: case 8: case 10: case 12:dmax=31;break; case 4: case 6: case 9: case 11:dmax=30;break; case 2:if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0){ dmax=29; } else{ dmax=28; }break; } if(d<=0 || d>dmax)sw=1; if(sw==0){ return true; }else{ return false; } }
  • 4. void fechaAyer(int d,int m,int a){ d--; if(d==0){ m--; if(m==0){ m=12;d=31;a--; } switch(m){ case 4: case 6: case 9: case 11:d=30;break; case 2:if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0){ d=29; } else{ d=28; }break; default:d=31; } } cout<<"nla fecha de ayeres: "<<d<<"/"<<m<<"/"<<a<<"n"; } 3) Ingrese un arreglo de enteros. El programa debe colocar los números impares a la izquierda y los pares a la derecha. #include <iostream.h> #include <conio.h>
  • 5. void main(){ int a[80],n,r=0,aux; cout<<"Ingrese el numero de datos:n"; cin>>n; for(int i=0;i<n;i++){ cout << "Ingrese la posicion ["<<i<<"] : "; cin >> a[i]; } cout<<"n"; cout<<"el arreglo es: nn"; for(int i=0;i<n;i++){ cout<<a[i]<<"t"; } cout<<"n"; for(int i=0;i<n;i++){ if(a[i]%2==1){ for(int j=i;j>0+r;j--){ aux=a[j-1]; a[j-1]=a[j]; a[j]=aux; } r++; } } cout<<"n"; cout<<"el arreglo final es: nn"; for(int i=0;i<n;i++){ cout<<a[i]<<"t"; } getch(); } 4) Sea el arreglo: arrayPrincipal[10]={1,2,3,7,4,1,7,1,2,1}, realizar un programa tal que nos indique cuantas veces se repite cada elemento del arreglo representándolo con asteriscos.
  • 6. #include <iostream.h> #include <conio.h> void main(){ int arrayPrincipal[10]={1,2,3,7,4,1,7,1,2,1}; int aux[10]; int pos,size=10,contador; for(int i=0;i<size;i++){ pos=0; contador=0; for(int j=0;j<size;j++){ if(arrayPrincipal[i] != arrayPrincipal[j]){ aux[pos++]=arrayPrincipal[j]; }else{ contador++; } } cout<<"el numero "<<arrayPrincipal[i]<< " se repite: "; for(int u=0;u<contador;u++){ cout<<"*"; } cout<<"n"; size-=contador; for(int u=0;u<size;u++){ arrayPrincipal[u]=aux[u];
  • 7. } i--; } getch(); } 5) Ingresar un arreglo con elementos entre 1 y 20 e incrustar un elemento. Se debe ingresar el elemento a incrustar y la posición donde se quiere poner. #include<fstream.h> //incrusta un element: #include<conio.h> #include<stdlib.h> int main(){ int t[80],n,elemento, posicion; cout<<"Ingrese el numero de datos:n"; cin>>n; for (int i=0;i<8;i++){ t[i]= 1+rand()%(20); } cout<<"el arreglo es:n"; for (int i=0;i<n;i++){ cout<<t[i]<<"t"; } cout<<"n"; do{ cout<<"Posicion donde insertar (de 0 a "<<n-1<<"):n";
  • 8. cin>>posicion; }while(posicion<0 || posicion>n-1); cout<<"Nuevo elemento:n"; cin>>elemento; for (int i=n-1;i>=posicion;i--){ t[i+1]=t[i]; } t[posicion] =elemento; cout<<("La tabla queda:n"); for (int i=0;i<n+1;i++) cout<<t[i]<<"t"; getch(); } 6) Ingresar un arreglo con elementos entre 1 y 10 luego eliminar un elemento. Se debe ingresar la posición del elemento a eliminar. #include<fstream.h> //elimina un elemento #include<conio.h> #include<stdlib.h> int main(){ int t[80],n,pos; cout<<"ingrese longitud de arreglo:n"; cin>>n; for (int i=0;i<n;i++){ t[i]= 1+rand()%(10);
  • 9. } cout<<"el arreglo es:n"; for (int i=0;i<n;i++){ cout<<t[i]<<"t"; } cout<<"n"; do{ cout<<"Posicion a eliminar (de 0 a "<<n-1<<"):n"; cin>>pos; }while(pos<0 || pos>n-1); for (int i=pos;i<n-1;i++){ t[i]=t[i+1]; } cout<<("El arreglo queda:n"); for (int i=0;i<n-1;i++){ cout<<t[i]<<"t"; } getch(); } 7) Ingresar un arreglo y un número y elaborar un programa tal que el numero ingresado quede incrustado automáticamente en el arreglo original de manera que este ordenado de mayora menor. #include<fstream.h>//pone automaticamente #include<conio.h> #include<stdlib.h>
  • 10. int main(){ int t[80],n,aux,num,pos,j; cout<<"ingrese longitud de arreglo:n"; cin>>n; cout<<"ingrese cantidad a incrustar:n"; cin>>num; for (int i=0;i<n;i++){ cout<<"ingrese el elemento "<<i+1<<": "; cin>>t[i]; } cout<<"el arreglo es:n"; for (int i=0;i<n;i++){ cout<<t[i]<<" "; } cout<<"n"; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ if(t[i]>t[j]){ aux=t[j]; t[j]=t[i]; t[i]=aux; } } } pos=0;j=0; while(t[j]<num && j<n){ j++;pos++; } for(int i=n-1;i>=pos;i--){ t[i+1]=t[i]; } t[pos] =num; cout<<("nEl arrelo con el nuevo elemento ordenado queda:n"); for (int i=0;i<n+1;i++) cout<<t[i]<<" ";
  • 11. getch(); } 8) Elaborar un programa que elimine los elementos repetidos de un arreglo. #include<fstream.h> //elimina repeticiones 2doM #include <conio.h> void main(){ int a[80],n; cout<<"Ingrese el numero de datos:n"; cin>>n; for(int i=0;i<n;i++){ cout << "Ingrese la posicion ["<<i<<"] : "; cin >> a[i]; } cout<<"n"; cout<<"el arreglo es: n"; for(int i=0;i<n;i++){ cout<<a[i]<<"t"; }cout<<"n"; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ if(a[i]==a[j]){ for(int k=j;k<n-1; k++){ a[k] = a[k+1]; }
  • 12. n--;j--; } } } cout<<"el arreglo sin repeticiones es:n"; for(int i=0;i<n;i++){ cout<<a[i]<<"t"; } getch(); } 9) Elaborar un programa tal que al ingresar un arreglo (elementos entre 1 y 50) y calcular el pivote como la semisuma del primer y último elemento, se colocan los elementos menores que el pivote a la izquierda mientras los mayores a la derecha. #include <iostream.h>//pivote #include<stdlib.h> #include <conio.h> void main(){ int a[80],n,r,aux; float pivot; cout<<"Ingrese el numero de datos:n"; cin>>n; for(int i=0;i<n;i++){ a[i]= 1+rand()%(49);; } cout<<"n";
  • 13. cout<<"el arreglo es:n"; for(int i=0;i<n;i++){ cout<<a[i]<<", "; } cout<<"n"; pivot=1.0*(a[0]+a[n-1])/2;r=0; for(int i=0;i<n;i++){ if(a[i]<=pivot){ for(int j=i;j>r;j--){ aux=a[j-1]; a[j-1]=a[j]; a[j]=aux; } r++; } } cout<<"n"; cout<<"el pivot es: "<<pivot<<"n"; cout<<"nel arreglo final es: n"; for(int i=0;i<n;i++){ cout<<a[i]<<", "; } getch(); } 10) Imprimir un histograma de las edades del curso de MA713, el número de asteriscos se corresponde con el número de alumnos, las edades están entre 15 y 25 años. #include <conio.h> #include<stdlib.h> void main(){ int a[100],f[100],n,u,v,max; cout<<"Ingrese el numero de datos:n"; //numero de alumnos cin>>n; do{ cout<<"Ingrese rango de datos:n"; //rango de edades cin>>u>>v; if(u>=v || u<0 || v<0)cout<<"orden no validon";// u tiene que ser mayor que v
  • 14. }while(u>=v || u<0 || v<0); for(int i=u;i<=v;i++)f[i]=0; for(int j=0;j<n;j++){ a[j]=u+rand()%(v-u+1); f[a[j]]++; } cout<<"n"; cout<<"el arreglo de frecuencias es: nn"; for(int i=u;i<=v;i++){ cout<<""<<i<<":"; for(int j=0;j<f[i];j++){ cout<<"*"; }cout<<"n"; } getch(); } 11) Sea el arreglo a={7,11,3,11,17,18}, desarrollar un programa tal que desplace el arreglo cierta cantidad. Por ejemplo si quiero desplazar en una cantidad 3 resultaría a={11,17,18,7,11,3}. #include<fstream.h> //desplaza “de” posiciones #include<conio.h> #include<stdlib.h> int main(){ int t[80],ultimo,n,de; cout<<"ingrese longitud de arreglo:n";
  • 15. cin>>n; cout<<"ingrese cantidad a desplazar:n"; cin>>de; for (int i=0;i<n;i++){ t[i]= 1+rand()%(20); } cout<<"el arreglo es:n"; for (int i=0;i<n;i++){ cout<<t[i]<<" "; } cout<<"n"; for(int i=0;i<de;i++ ){ ultimo=t[n-1]; for (int j=n-2;j>=0;j--){ t[j+1]=t[j]; } t[0]=ultimo; } cout<<("nLa tabla queda:n"); for (int i=0;i<n;i++) cout<<t[i]<<" "; getch(); }
  • 16. 12) Sea cuatro puntos aleatorios en el plano cartesiano. Guardamos las abscisas y ordenadas en dos arreglos X y Y (todos los elementos están entre 1 y 9). Encontrar la mayor distancia generada entre los cuatro puntos e indicar los puntos que la generan. #include<fstream.h>//problema parcial xs y ys #include<conio.h> #include<stdlib.h> #include <math.h> void main(){ int x[4],y[4],px,py,k; float max,d[6]; for(int i=0;i<4;i++){ x[i]=1+rand()%9; } cout<<"el arreglo de abscisas esn"; for(int i=0;i<4;i++) cout<<x[i]<<"t"; cout<<"nn"; for(int i=0;i<4;i++){ y[i]=1+rand()%9; } cout<<"el arreglo de ordenadas esn"; for(int i=0;i<4;i++) cout<<y[i]<<"t"; cout<<"nn"; k=0; for(int i=0;i<3;i++){ for(int j=i+1;j<4;j++){ d[k]=ceil(sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2))*100)/100; k++; } } cout<<"las distancias son: n"; for(int i=0;i<k;i++) cout<<d[i]<<"t"; cout<<"nn"; max=d[0];
  • 17. for(int i=0;i<k;i++){ if(d[i]>max) max=d[i]; } k=0; for(int i=0;i<3;i++){ for(int j=i+1;j<4;j++){ d[k]=ceil(sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2))*100)/100; if(d[k]==max){ px=i;py=j; } k++; } } cout<<"la mayor distancia es "<<max<<" n"; cout<<"los puntos x:"<<x[px]<<" y "<<x[py]<<" n"; cout<<"los puntos y:"<<y[px]<<" y "<<y[py]<<" n"; getch(); } 13) Dibujar una letra R con asteriscos ingresando el ancho y largo iguales. #include<fstream.h> // letra R #include<conio.h> int main(){ int n;
  • 18. cout<<"ingrese ancho y largo n:n"; cin>>n;cout<<"n"; for(int f=0;f<n;f++){ for(int c=0;c<n;c++){ if(c==0||f==0||(f==n/2 && c>=n/2)||(c==n-1&&f<=n/2)||(c>=n/2&&f==c)){ cout<<"*"; } else{ cout<<" "; } } cout<<"n"; } getch(); } 14) Dibujar la letra K con asteriscos ingresando el ancho y largo iguales. #include<fstream.h> // letra K #include<conio.h> int main(){ int n; cout<<"ingrese ancho y largo n:n"; cin>>n;cout<<"n"; for(int f=0;f<n;f++){ for(int c=0;c<n;c++){
  • 19. if(c==0||(c>=n/2&&c+f==n-1)||(c>=n/2&&c==f)){ cout<<"*"; } else{ cout<<" "; } } cout<<"n"; } getch(); } 15) Elaborar una tabla de frecuencias al ingresar una cantidad de datos. Encontrar el máximoy mínimo valor, el numero d intervalos y longitud del intervalo. #include<fstream.h> #include<conio.h> #include<math.h> void ingresavector(int a[100],int &n); void ordenavector(int a[100], int n, int &mayor, int &menor); void frecuencias(int a[100], int n, int mayor, int menor); void imprimevector(int b[100],int n1); void main(){ int n, a[80],mayor,menor; ingresavector(a,n); cout<<"el vector es: n";
  • 20. imprimevector(a,n); ordenavector(a,n,mayor,menor); frecuencias(a,n,mayor,menor); getch(); } void ingresavector(int a[100],int &n){ cout<<"ingrese cantidad de elemntos del vector: ";cin>>n; while(n<=0 || n>100){ cout << "cantidad no valida, vuelva a ingresar:n"; cin >> n; } for(int i=0;i<n;i++){ cout<<"ingrese el elemento "<<i+1<<": "; cin>>a[i]; } cout<<"n"; } void ordenavector(int a[100],int n,int &mayor,int &menor){ mayor=menor=a[0]; for(int i=0;i<n;i++){ if(mayor<a[i]){ mayor=a[i]; } if(menor>a[i]){ menor=a[i]; } } cout<<"el mayor elemento es: "<<mayor<<" n"; cout<<"el menor elemento es: "<<menor<<"n"; } void frecuencias(int a[100], int n, int mayor, int menor){ int I[100],S[100],F[100],con;float ni, ti; ni = 1+3.32*log10(1.0*n); ti =1.0*(mayor-menor) / ni; if(ni<0.5*(ceil(ni)+floor(ni))){ //redondeamos correctamente ni=floor(ni); }else{
  • 21. ni=ceil(ni); } if(ti<0.5*(ceil(ti)+floor(ti))){ //redondeamos correctamente ti=floor(ti); }else{ ti=ceil(ti); } cout<<"EL numero de intervalos es:"<<ni<<"n";cout<<"longitud del intervalo es:"<<ti<<"n"; I[0]=menor;S[0]=menor+ti-1; for(int i=1;i<ni;i++){ I[i]=S[i-1]+1;S[i]=I[i]+ti-1; } for(int i=0;i<ni;i++){ con=0; for(int j=0;j<n;j++){ if(a[j]>=I[i] && a[j]<=S[i]){ con++; } } F[i]=con; } cout<<"La tabla de frecuencias es:n"; for(int i=0;i<ni;i++){ cout<<"["<<I[i]<<"-"<<S[i]+1<<">"<<"t"<<F[i]<<"n"; } } void imprimevector(int b[100],int n1){ for(int i=0;i<n1;i++){ cout<<b[i]<<", "; } cout<<"n"; }
  • 22. 16) suponga que se le pide a 20 personascalificar con las letras a b c d y e el desempeñodel gobiernoactual. Realiza el histograma para esta colecciónde datos con asteriscos. Ejemplo: respuestas:c b c a b c d e e a b b d c a c c b d a. a: 4 a: **** b:5 b: ***** c: 6 c: ****** d: 3 d: *** e: 2 e: ** sol: #include <iostream.h> #include <conio.h>
  • 23. void ingresaArreglo(char dato[80], int &n); void imprimeArreglo(char dato[80], int n); void histograma(char dato[80], int n); void main(){ char dato[80]; int n; ingresaArreglo(dato, n); cout << "las calificaciones al gobierno son:n"; imprimeArreglo(dato, n); cout << "El histograma es:n"; histograma(dato, n); getch(); } void ingresaArreglo(char dato[80], int &n){ cout << "ingrese cantidad de encuestados: "; cin >> n; while (n <= 0 || n>80){ cout << "cantidad no valida, vuelva a ingresar:n"; cin >> n; } for (int i = 0; i<n; i++){ cout << "opinion " << i + 1 << ": "; cin >> dato[i]; if(dato[i]<97 || dato[i]>101){ cout<<"valor vo valido, reingresen";i--; //si ingresas letras distintas a lo establecido } } cout << "n"; } void imprimeArreglo(char dato[80], int n){ for (int i = 0; i<n; i++){ cout << dato[i] << " "; } cout << "n"; } void histograma(char dato[80], int n){ char aux[80], sw; int pos, con;
  • 24. for (int i = 0; i < n; i++){ //ordenamos alfabeticamente for (int j = i + 1; j < n; j++){ if (dato[j] < dato[i]){ sw = dato[i]; dato[i] = dato[j]; dato[j] = sw; } } } for (int i = 0; i < n; i++){ pos = 0, con = 0; for (int j = 0; j < n; j++){ if (dato[i] != dato[j]){ aux[pos++] = dato[j]; } else{ con++; } } cout << "" << dato[i] << ": " << con << "" << "t" << "" << dato[i] << ": "; for (int u = 0; u < con; u++){ cout << "*"; } cout << "n"; n -= con; for (int u = 0; u<n; u++){ dato[u] = aux[u]; } i--; } }
  • 25. 17) programa para multiplicar dos matrices validando orden de multiplicación 𝒄𝒊𝒋 =𝒂𝒊𝒌*𝒃 𝒌𝒋 #include<fstream.h>//multiplicacion de matrices #include<conio.h> #include<stdlib.h> void main(){ int A[80][80],B[80][80],C[80][80],fa,ca,fb,cb,suma; do{ cout<<"introduce filas de A:n"; cin>>fa; cout<<"introduce columnas de A:n"; cin>>ca; cout<<"introduce filas de B:n"; cin>>fb; cout<<"introduce columnas de B:n"; cin>>cb; if(ca!=fb|| ca<=0 || fb<=0) cout<<"orden no valido para la multiplicacionn"; }while(ca!=fb || ca<=0 || fb<=0); for(int i=0;i<fa;i++){ for(int j=0;j<ca;j++){
  • 26. A[i][j]=1+rand()%(9); } } for(int i=0;i<fb;i++){ for(int j=0;j<cb;j++){ B[i][j]=1+rand()%(20); } } cout<<"nla matriz A es:n"; for(int i=0;i<fa;i++){ for(int j=0;j<ca;j++){ cout<<A[i][j]<<"t"; } cout<<"n"; } cout<<"nla matriz B es:n"; for(int i=0;i<fb;i++){ for(int j=0;j<cb;j++){ cout<<B[i][j]<<"t"; } cout<<"n"; } for(int i=0;i<fa;i++){ for(int j=0;j<cb;j++){ suma=0; for(int k=0;k<fb;k++){ suma=suma+A[i][k]*B[k][j]; } C[i][j]=suma; } } cout<<"nla matriz producto es:n"; for(int i=0;i<fa;i++){ for(int j=0;j<cb;j++){ cout<<C[i][j]<<"t"; } cout<<"n"; } getch(); }
  • 27. 18) Encontrar el programa para un cuadrado mágicode orden impar valido para orden 3,5,7,9,11. #include <iostream.h>//cuadrado magico #include<conio.h> void main(){ int a[100][100],n,i,j,k,inicio,fin,prer,prec; cout<<"ingrese dimencion de matriz cuadrada:n"; cin>>n; while (n%2==0){ cout<<"Debes digitar solo valores imparesn"; cout<<"digite un nuevo valor:n"; cin>>n; } for(i=0;i<n;i++){ for(j=0;j<n;j++){ a[i][j]=0; } } inicio=n/2; fin=n*n; a[0][inicio] = 1; i=0; j=inicio; for(k=2;k<=fin;k++){ prer=i; prec=j; i--; if(i<0) i=n-1; j--; if(j<0) j=n-1; if(a[i][j]!=0) { i=prer; j=prec;
  • 28. i++; if(i>n-1) i = 0; a[i][j]=k; } else a[i][j]=k; } cout<<"nel cuadrado magico es:n"; for(i=0; i<n; i++){ for(j=0; j<n; j++){ cout<<a[i][j]<<"t"; } cout<<"n"; } getch(); } 19) Desplazarlas filas de una matriz hacia abajo (la primera pasara a serla segunda, la segunda será la tercera, etc., y la última pasara a ser primera). #include<fstream.h> #include <conio.h> #include<stdlib.h> void ingrezaMatriz(int a[80][80],int &n,int &m); void desplaza(int a[80][80],int n,int m);
  • 29. void muestraMatriz(int a[80][80],int n,int m); void main(){ int a[80][80],n,m; ingrezaMatriz(a,n,m); cout<<"la matriz orignal es: nn"; muestraMatriz(a,n,m); desplaza(a,n,m); cout<<"nLa nueva matriz es:nn"; muestraMatriz(a,n,m); getch(); } void ingrezaMatriz(int a[80][80],int &n,int &m){ cout<<"ingrese dimencion:n";cin>>n>>m; while(n<2 || m<2){ cout<<"dimencion no valida,reingresa:n";cin>>n>>m; } for (int i=0;i<n;i++){ for (int j=0;j<m;j++){ a[i][j]=1+rand()%(9); } } cout<<"n"; } void desplaza(int a[80][80],int n,int m){ int u[80],aux; for(int j=0;j<m;j++){ u[j]=a[n-1][j]; } for(int i=n-2;i>=0;i--){ for(int j=0;j<m;j++){ a[i+1][j]=a[i][j]; } } for(int j=0;j<m;j++){ a[0][j]=u[j];
  • 30. } } void muestraMatriz(int a[80][80],int n,int m){ for (int i=0;i<n;i++){ for (int j=0;j<m;j++){ cout <<a[i][j]<<"t"; } cout << "n"; } } 20) Invertir los elementos de la diagonal principal de una matriz cuadrada. #include<fstream.h> #include <conio.h>
  • 31. #include<stdlib.h> void ingrezaMatriz(int a[80][80],int &n); void invierte(int a[80][80],int n); void muestraMatriz(int a[80][80],int n); void main(){ int a[80][80],n; ingrezaMatriz(a,n); cout<<"la matriz orignal es: nn"; muestraMatriz(a,n); invierte(a,n); cout<<"nLa nueva matriz es:nn"; muestraMatriz(a,n); getch(); } void ingrezaMatriz(int a[80][80],int &n){ cout<<"ingrese dimencion:n";cin>>n; while(n<2){ cout<<"dimencion no valida,reingresa:n";cin>>n; } for (int i=0;i<n;i++){ for (int j=0;j<n;j++){ a[i][j]=10+rand()%(81); } } cout<<"n"; } void invierte(int a[80][80],int n){ int aux; for (int i=0;i<n/2;i++){ aux=a[i][i];a[i][i]=a[n-1-i][n-1-i];a[n-1-i][n-1-i]=aux; } } void muestraMatriz(int a[80][80],int n){ for (int i=0;i<n;i++){ for (int j=0;j<n;j++){