Está en la página 1de 13

PROBLEMAS DE ARREGLOS

UNIDIMENSIONALES

Nombre: Huaricacha Masias Melvin Luigi

//Problema 1
#include<iostream>
#include<conio.h>
using namespace std;
int main (){
int numeros[100],n, mayor=0;
cout<<"Digite el numero de elemenetos del arreglo: ";
cin>>n;

for(int i=0;i<n;i++){
cout<<i+1<<". Digite un numero: ";
cin>>numeros[i];

if(numeros[i]>mayor){
mayor=numeros[i];
}
}

cout<<"\n El mayor elemento del vector es: "<<mayor<<endl;

getch();
return 0;
}
//Problema 1 con recursividad
#include <iostream>

void ingresar(int vect[], int n);


int mayor(int vect[], int n);
int mayorR(int vect[], int n,int mayor);
using namespace std;
int main()
{
int n;

int vect[n];
ingresar(vect,n);

int iR=mayorR(vect, n,0);

return 0;
}
void ingresar(int vect[],int n)
{
for (int i=0; i<n ; i++)
{
cout << "\nIngrese el valor para vect["<< i << "] : " ;
cin >> vect[i];
}
}

int mayor(int vect[], int n)


{
int indice=0;
for(int i=1;i <n ; i++)
{
if(vect[i]>vect[indice])
indice=i;
}
return indice;
}
int mayorR(int vect[], int n, int Imayor)
{
if(n==0)
if(vect[0]>vect[Imayor])
return 0;
else
return Imayor;
else
if(vect[n-1]>vect[Imayor])
return mayorR(vect, n-1, n-1);
else
return mayorR(vect, n-1, Imayor);
}

//Problema 2
#include<iostream>
#include<stdio.h>
using namespace std;
void colocar(int v[], int n, int m){
if(m<4){
v[m]=n%10;
n=n/10;
cout<< v[m];
colocar(v,n,m+1);
}
}

int main(){
int v[4],num,x;
do{
cout<<"Ingresar un numero de 4 digitos: "<<endl;
cin>>num;
if(num<10000&num>999)
x=1;
else{
x=2;
cout<<"El numero no tiene 4 digitos\n";
}
}while(x==2);
colocar(v,num,0);

system("PAUSE>>null");
return 0;
}

//Problema 3 usando recursividad

#include<iostream>
using namespace std;

void ingresar(int []);


void comparar(int [],int []);
int main(){
int datos[5], datos2[5];
ingresar(datos);
ingresar(datos2);
comparar(datos,datos2);

return 0;
}

void ingresar (int d[]){


for(int i=0;i<5;i++){
cout<<"Ingrese un valor al vector datos["<<i+1<<"]:";
cin>>d[i];
}
}

void comparar (int datos[], int datos2[]){


int f=0;
for(int i=0;i<5;i++){

if(datos[i]!=datos2[i])
f=1;
}
if(f==0)
cout<<"Los vectores son iguales";
else
cout<<"Los vectores no son iguales";
}
//Problema 4
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
void base (int n, int X[100]){
int i=0,a;
do{
a=n/(pow(2,i));
X[i]=a%2;

i++;
}while (a>=2);{
for(int j=1-1;j>-1;j--){
cout<<X[j];
}
}
}

void base(int n){


if(n>1){
base(n/2);
}
cout<<n%2;
}

int main(){
int n,X[100];
cout<<"Ingrese un numero: ";cin>>n;
base(n,X);
cout<<"\n El numero introducido en base 2 es:"<<endl;
base(n);

getch();
return 0;
}

//Problema 5
#include<iostream>
#include<conio.h>
using namespace std;
int main (){
int numeros[100],n,suma=0;
float menor,mayor;

cout<<"Digite el numero de elementos del arreglo: ";


cin>>n;

for(int i=0;i<n;i++){
cout<<i+1<<". Digite un numero: ";
cin>>numeros[i];
}
menor = numeros[0];
mayor = numeros[0];

for(int i=0;i<n;i++){
if(numeros[i]>mayor){
mayor=numeros[i];
}
if(menor>numeros[i]){
menor=numeros[i];
}
suma+=numeros[i];
}

cout<<"\nLa suma de los elementos es: "<<suma<<endl;


cout<<"\n El mayor elemento del vector es: "<<mayor<<endl;
cout<<"\n El menor elemento del vector es: "<<menor<<endl;

getch();
return 0;
}

//Problema 6
#include<iostream>
#include<conio.h>
using namespace std;
int a,d;
int v[31],n,alumpro[31],alumdes[31],notapro[31],notades[31];

void ingresar();
void mostrar();
void cantaprobados();
void aprobados();
void cantdesaprobados();
void desaprobados();

int menu(){
int opcion;
do{
system("cls");
cout<<"\n\tMenu de opciones: alumnos=30"<<endl;
cout<<"\t********************"<<endl;
cout<<"\n\t{1}-------Ingresar las notas de los alumnos"<<endl;
cout<<"\t{2}-------Mostrar todas las notas"<<endl;
cout<<"\t{3}-------Mostrar a los aprobados"<<endl;
cout<<"\t{4}-------Mostrar a los desaprobados"<<endl;
cout<<"\t{5}-------Salir del menu"<<endl;
cout<<"\n\tEscoja una opcion: ";cin>>opcion;
}while(opcion>5 or opcion<=0);
return opcion;
}

//ingresar notas
void ingresar(){
system("cls");
for(int i=0;i<30;i++){
cout<<"\n\tIngrese la nota del alumno ["<<i+1<<"] : ";cin>>v[1];
}
}

//Mostrar notas
void mostrar(){
system("cls");
float suma=0;
for(int i=0;i<30;i++){
cout<<"\nLa nota del estudiante ["<<i+1<<"] es : "<<v[i]<<endl;
}
for(int i=0;i<30;i++){
suma+=v[1];
}
cout<<"\NEl promedio de todas las notas es: "<<suma/30<<endl;
cout<<"\n\tPulse una tecla para volver.....";
getch();
}

//Cantidad aprobados
void cantaprobados(){
for(int i=0;i<30;i++){
if(v[i]>=10.5){
a++;
}
}
}

//Mostrar aprobados
void aprobados(){
system("cls");
cantaprobados();
cout<<"La cantidad de alumnos aprobados es: "<<a<<endl;
float suma=0;
int j=0;
for(int i=0;i<30;i++){
if(v[i]>=10.5){
alumpro[j]=1;
notapro[j]=1;
j++;
}
}
for(int j=0;j<a;j++){
cout<<"El alumno ["<<alumpro[j]+1<<"aprobo con nota:
"<<notapro[j]<<endl;
suma+=notapro[j];
}
cout<<"\nEl promedio de notas de los alumnos que aprobaron es:
"<<suma/a<<endl;
cout<<"\n\tPulse una tecla para volver.....";
getch();
}

//Cantidad desaprobados
void cantdesaprobados(){
for(int i=0;i<30;i++){
if(v[i]<=10.5){
d++;
}
}
}

//Mostrar desaprobados
void desaprobados(){
system("cls");
cantdesaprobados();
cout<<"La cantidad de alumnos desaprobados son: "<<d<<" alumnos\
n"<<endl;
float suma=0;
int k=0;
for(int i=0;i<30;i++){
if(v[i]<=10.5){
alumdes[k]=i;
notades[k]=v[i];
k++;
}
}
for(int k=0;k<d;k++){
cout<<"El alumno ["<<alumdes[k]+1<<"] desaprobo con nota:
"<<notades[k]<<endl;
suma+=notades[k];
}
cout<<"\nEl promedio de notas de los alumnos que desaprobaron es:
"<<suma/d<<endl;
cout<<"\n\tPulse una tecla para volver.....";
getch();
}

//Programa Principal
int main(){
int opcion;
do{
system("cls");
opcion=menu();
switch(opcion){
case 1:
ingresar();
break;
case 2:
mostrar();
break;
case 3:
aprobados();
break;
case 4:
desaprobados();
break;
case 5:
cout<<"\n\tFin del programa."<<endl;
break;
}
}while(opcion<5);
}

También podría gustarte