Está en la página 1de 5

UNIVERSIDAD NACIONAL DE INGENIERÍA

FACULTAD DE INGENIERÍA QUÍMICA Y TEXTIL


DEPARTAMENTO ACADÉMICO DE CIENCIAS BÁSICAS
INTRODUCCION A LA COMPUTACION BIC01 - Periodo Académico 2020-1
FECHA: 10/09/2020

PRACTICA CALIFICADA 3

Tiempo: 55 minutos

 La prueba consta de 02 preguntas


 Usar lapicero de tinta azul o negra. Prueba desarrollada con lápiz no será calificada.
 INDICACIONES: Sin libros, copias ni apuntes.
 Mantenga orden y claridad en el desarrollo de sus preguntas.
 EL SOLO INTENTO DE PLAGIO ANULA LA PRUEBA.

1. Escriba un programa ( o función) que lea una matriz A y determine si A


es un cuadrado mágico.

Dato: 8 1 6
3 5 7
4 9 2
Resultados: Si es cuadrado mágico
8 puntos

Programa
/*Mayor y Menor de dos numeros diferentes
Resultado de la compilación y ejecución

2. Hacer un programa que lea un vector X de n elementos y un número


entero k (k≤n), para obtener y mostrar:

a. El vector Y, que consiste en rotar de izquierda a derecha k


posiciones los elementos de X.
b. El vector Z, que consiste en rotar de derecha a izquierda k
posiciones los elementos de X.
Ejemplo: Datos: X= [ 2 3 4 5 1 7] k=2
Resultados: Dará: Y= [ 1 7 2 3 4 5] Z= [4 5 1 7 2 3]

12 puntos

Programa
/*Mayor y Menor de dos numeros diferentes

}
Resultado de la compilación y ejecución

Problema 2
/*Algoritmo para crear vectores que sean la rotacion de un vector
Alumno: Gordillo Inocente Hasziel Angel*/
#include<iostream>
using namespace std;
int main(){
int vectorX[50],vectorY[50],vectorZ[50],k,i,n,j,s,a;
cout<<"ingrese la cantidad de elementos del vector";
cin>>n;
for(i=0;i<n;i=i+1){
cout<<"ingrese un elemento del vector"<<endl;
cin>>vectorX[i];
}
cout<<"ingrese cuantas veces desea que rote";
cin>>k;
s=2*n-k;
a=n-k;
for(i=0;i<n;i=i+1){
for(j=a;j<s;j=j+1){
if(j<n && j==i+k){
vectorY[i]=vectorX[j];
}
if(j>=n && j==i-k){
vectorY[i]=vectorX[j-n];
}
}
}
cout<<"Los elementos del vector y que han rotado k veces de izquierda a
derecha son:"<<endl;
for(i=1;i<n;i=i+1){
cout<<"elemento ["<<i<<"]= "<<vectorY[i]<<endl;
}
for(i=0;i<n;i=i+1){
for(j=k;j<k+n;j=j+1){
if(k<n && j==i+n-k){
vectorZ[i]=vectorX[j];
}
if(k>=n && j==i-k){
vectorZ[i]=vectorX[j-n];
}
}
}
cout<<"Los elementos del vector y que han rotado k veces de derecha a
izquierda son:"<<endl;
for(i=1;i<n;i=i+1){
cout<<"elemento ["<<i<<"]= "<<vectorZ[i]<<endl;
}
}

También podría gustarte