Anda di halaman 1dari 13

1) En el curso de Algoritmos se rinden 4 exmenes de las cuales se elimina la

menor nota. Hacer un programa para ingresar las notas de los 4 exmenes y
reportar la nota eliminada y el promedio final del alumno

#include<iostream>
using namespace std;

float menorNota(float n1,float n2,float n3,float n4);


void ingreso(int &ia,int &ib,int &ic,int &id);
float promedio(float np1,float np2,float np3, float np4);

int main (int argc, char *argv[]) {


int a,b,c,d;
ingreso(a,b,c,d);
cout<<"\nLa nota eliminada es: "<<menorNota(a,b,c,d)<<endl;
cout<<"\nEl promedio es: "<<promedio(a,b,c,d)<<endl;
return 0;
}

float promedio(float np1,float np2,float np3, float np4)


{
float p;
p=((np1+np2+np3+np4)-menorNota(np1,np2,np3,np4))/3;
return p;
}

void ingreso(int &ia,int &ib,int &ic,int &id)


{
cout<<"Ingrese nota 1: ";
cin>>ia;
cout<<"Ingrese nota 2: ";
cin>>ib;
cout<<"Ingrese nota 3: ";
cin>>ic;
cout<<"Ingrese nota 4: ";
cin>>id;
}
float menorNota(float n1,float n2,float n3,float n4)
{
float menor;
menor=n1;
if(n2<menor)
menor=n2;
if(n3<menor)
menor=n3;
if(n4<menor)
menor=n4;
return menor;
}

2) Ingresar el valor de x y n luego calcular el valor de la siguiente sumatoria.


s = 1+ x + x2/2! + x3/3! + x4/4! + ... + xn/n!

#include<iostream>
using namespace std;

void sumatoria(int n,int x,float t,float s);

void ingreso(int &n,float &x);

int main (int argc, char *argv[]) {

int i,n;
float x,t=1,s=1;

ingreso(n,x);
sumatoria(n,x,t,s);

return 0;
}

void ingreso(int &n,float &x)


{
cout<<"Ingrese el numero de terminos: ";
cin>>n;

cout<<"Ingrese el valor de X: ";


cin>>x;
}

void sumatoria(int n,int x,float t,float s)


{
for(int i=1;i<=n;i++)
{
t=t*x/i;
s=s+t;

}
cout<<"La suma es: "<<s<<endl;
}

3) Reportar todos los nmeros primos que se encuentran dentro de un Rango.


Se debe ingresar el valor inicial y final del rango.

#include <iostream>
using namespace std;

bool esPrimo(int n);

int main(int argc, char *argv[]){

int a, b, c = 0;
cout<<"primer rango : ";
cin>>a;
cout<<"segundo rango : ";
cin>>b;

while(a <= b)

if(esPrimo(a++))
c++;
cout<<"\nCantidad de primos: "<<c<<endl;

return 0;
}
bool esPrimo(int n)
{
if(n == 2)

return true;

for(int i = 2; i < n; i++)

if(!(n % i))

return false;
return true;
}

4) Ingresar un quebrado (numerador y denominador) y reducirlo a su mnima


expresin

#include <iostream>
using namespace std;

void IngresoFraccion (int a, int b);


int Simplificar(int a, int b, int i) ;
void MuestraFraccion (int a, int b);

int main(int argc, char *argv[]) {

int i;
float a,b;
IngresoFraccion(a,b);
Simplificar( a, b, i);
cout<<"La fraccion Simplificada es "<<a<<" / "<<b<<endl;
return 0;
}
void IngresoFraccion(int a, int b)
{
cout<<" Ingrese Numerador : ";
cin>>a;

cout<<" Ingrese Denominador : ";


cin>>b;
}

int Simplificar(int a, int b, int i)


{
i=2;
while(i<=a && i<=b)
{

if(a%i==0 && b%i==0)


{
a=a/i;

b=b/i;
}
else
i=i+1;
}

return a,b;
}
5) Dado un numero entero positivo N, dibujar el siguiente triangulo:
Si N=5 saldr
1
12
123
1234
12345

#include <iostream>
using namespace std;

void Ingresa (int n, int nro);

int main(int argc, char *argv[]) {

int n,nro=1;
Ingresa (n, nro);
return 0;
}

void Ingresa (int n, int nro)


{

cout<<"Ingrese Numero: ";


cin>>n;

cout<<nro<<endl;

for (int i=1; i<=n; i++)


{
cout<<nro<<"\t";

for (int j=1; j<=i; j++)


{
nro=nro+1;
cout<<nro<<"\t";

}
cout<<endl;
}
}
6) Ingresar n elementos en un vector y luego ingresar un elemento y reportar
cuantas veces aparece ese elemento en el vector.

#include<iostream>
#include <cstdio>
using namespace std;
#define MAX 100

void numDatos(int &n,char mensaje[]);


void ingresoVector(float v[], int n,char mensaje[]);
void reporteVector(float v[], int n, char mensaje[]);
void numerorepetido (float v[], int n);

int main(int argc, char *argv[])


{
float x[MAX];
int n;

numDatos(n,"Numero de elementos del arreglo : ");

ingresoVector(x,n,"Ingreso de datos del arreglo");

reporteVector(x,n,"Vector Ingresado");

numerorepetido (x,n);

return 0;
}
void numDatos(int &n,char mensaje[])
{
do{

cout<<mensaje;
cin>>n;

}while(n<=0 || n>MAX);
}
void ingresoVector(float v[], int n,char mensaje[])
{
int i;
cout<<mensaje<<endl;
for(i=0;i<n;i++)
{
cout<<"v["<<i<<"]:";
cin>>v[i];
}
}

void reporteVector(float v[], int n, char mensaje[])


{
int i;
cout<<mensaje<<endl;
for(i=0;i<n;i++)
cout<<v[i]<<endl;
}

void numerorepetido (float v[], int n)


{
for(int i=0;i<n;i++)

{cin>>v[i] ;
}

for(int i=0;i<n;i++)

{int cont=0;

for(int j=0;j<n;j++)
{
if (v[i]==v[j]) cont++;
}
cout<<"el dato: "<< v[i]<<"se repite: "<< cont<<" veces en el array"<<endl;
}
}
7) Ingresar dos vectores y reportar si son iguales

#include <iostream>
using namespace std;

void Ingreso(int v1[], int v2[]);


void Compara(int v1[], int v2[] );

int main(int argc, char *argv[]) {

int v1[20],v2[20];

Ingreso (v1, v2);


Compara (v1, v2);

return 0;
}

void Ingreso(int v1[], int v2[])


{

for(int i=1;i<=5;i++)
{

cout<<"ingrese valor para vector1: ";


cin>>v1[i];

}
for(int i=1;i<=5;i++)
{
cout<<"ingrese valor para vector2: ";
cin>>v2[i];
}
}
void Compara(int v1[], int v2[] )
{

if(v1==v2)
cout<<"Los vectores son iguales ";

else
cout << "Los Vectores no son iguales " ;

8) Calcule el promedio ponderado de un conjunto de datos. Se deben ingresar


las cantidades con sus respectivos pesos..

#include <iostream>
using namespace std;

void Ingreso( int, float[] );

float promedio( float[], float[], int);

int main(int argc, char *argv[]) {

int n;

float valor[30], peso[30], p;

cout<<"Numero de Datos: "<<endl;


cin>>n;

cout<<endl<< "Ingrese Valor "<<endl;

Ingreso( n, valor);

cout<<endl<< "Ingrese Peso" <<endl;


Ingreso(n, peso);

p=promedio( valor, peso, n);

cout<<endl<< "El promedio ponderado es: "<<p;


return 0;
}

void Ingreso( int n, float x[] )


{
for( int i=0; i<n; i++)
{

cout<< "Ingrese elemento "<<i<<": ";


cin>>x[i];

}
}

float promedio( float valor[], float peso[], int n)


{

float sv=0, sp=0;

for(int i=0; i<n; i++ )


{
sv=sv+valor[i]*peso[i];

sp=sp+peso[i];
}

return sv/sp;
}

9) Ingrese los nombres y las notas de n alumnos y reportar una lista en orden
alfabtico y otra lista en orden de mrito.

#include<iostream>
#define LIM 100
using namespace std;

void numDatos(int &n);


void ingreso(char [][80], float [],int n);
void reporte(char [][80], float [],int n);
void ordenAlfabetico(char [][80], float [],int n);
void ordenMerito(char [][80], float [],int n);
int main(int argc, char *argv[])
{
char nombres[LIM][80];
float notas[LIM];
int n;
numDatos(n);
ingreso(nombres,notas,n);
ordenAlfabetico(nombres,notas,n);
cout<<"Datos en orden Alfabetico"<<endl;
reporte(nombres,notas,n);
ordenMerito(nombres,notas,n);
cout<<"Datos en orden de Merito"<<endl;
reporte(nombres,notas,n);

return 0;
}
void numDatos(int &n)
{
do{
cout<<"Numero de alumnos : ";
cin>>n;
}while(n<0 || n>LIM);
}
void ingreso(char nombres[][80], float notas[], int n)
{
int i;
for(i=0;i<n;i++)
{
cin.ignore();
cout<<"Ingrese nombre : ";
cin.getline(nombres[i],80);
cout<<"Ingrese nota : ";
cin>>notas[i];
}
}
void reporte(char nombres[][80], float notas[], int n)
{
int i;
for(i=0;i<n;i++)
cout<<nombres[i]<<", "<<notas[i]<<endl;
}
void ordenAlfabetico(char nombres[][80], float notas[], int n)
{
int i,j;
char temp1[80];
float temp2;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strcmp(nombres[i],nombres[j])>0)
{
strcpy(temp1,nombres[i]);
strcpy(nombres[i],nombres[j]);
strcpy(nombres[j],temp1);
temp2=notas[i];
notas[i]=notas[j];
notas[j]=temp2;
}
}
void ordenMerito(char nombres[][80], float notas[], int n)
{
int i,j;
char temp1[80];
float temp2;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(notas[i]<notas[j])
{
strcpy(temp1,nombres[i]);
strcpy(nombres[i],nombres[j]);
strcpy(nombres[j],temp1);
temp2=notas[i];
notas[i]=notas[j];
notas[j]=temp2;
}
}

Anda mungkin juga menyukai