¿Me pueden ayuda con estos problemas en C++?

nemesis88

Bovino adicto
#1
Me a tocado estudiar DEV C++ y e puesto estos problemas en mi desesperacion por intentar resolverlos.
Porfavor si pueden ayudaenme a resolver este trabajo

2) Dado 5 notas de un estudiante calcular:
a) El promedio de notas.
b) La cantidad de notas aprobadas y desaprobadas.
3) Desarrolle un algoritmo que realice la sumatoria de los números enteros múltiplos de 5, comprendidos entre el 1 y el 100, es decir, 5 + 10 + 15 +…. + 100. El programa deberá imprimir los números en cuestión y finalmente su sumatoria
4) Desarrolle un algoritmo que realice la sumatoria de los números enteros pares comprendidos entre el 1 y el 100, es decir, 2 + 4 + 6 +…. + 100. El programa deberá imprimir los números en cuestión y finalmente su sumatoria
5) Desarrolle un algoritmo que lea los primeros 10 números enteros y determine cuántos de ellos son impares; al final deberá indicar su sumatoria.

La segunda la hice a medias y me salio asi :

Código:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    /*Dado 5 notas de un estudiante calcular:
           a) El promedio de notas.
           b) La cantidad de notas aprobadas y desaprobadas.
    */
    
    int N1,N2,N3,N4,N5,P;
    cout << "Ingrese su Primera Nota :";cin>>N1;
    cout << "Ingrese su Segunda Nota :";cin>>N2;
    cout << "Ingrese su Tercera Nota :";cin>>N3;
    cout << "Ingrese su Cuarta Nota :";cin>>N4;
    cout << "Ingrese su Quinta Nota :";cin>>N5;
   
   
    P=(N1+N2+N3+N4+N5)/5;
    
    cout << "Su promedio es : " << P;
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Porfavor si pueden ayudenme, de antemano estoy muy agradecido.Salu2
 

Zephyros

Bovino de la familia
#2
Ayudarte en qué, postea dudas claras, así como lo planteas me suena a que quieres que lo hagamos por ti... X_X
 
#3
Me a tocado estudiar DEV C++ y e puesto estos problemas en mi desesperacion por intentar resolverlos.
Porfavor si pueden ayudaenme a resolver este trabajo

2) Dado 5 notas de un estudiante calcular:
a) El promedio de notas.
b) La cantidad de notas aprobadas y desaprobadas.
3) Desarrolle un algoritmo que realice la sumatoria de los números enteros múltiplos de 5, comprendidos entre el 1 y el 100, es decir, 5 + 10 + 15 +…. + 100. El programa deberá imprimir los números en cuestión y finalmente su sumatoria
4) Desarrolle un algoritmo que realice la sumatoria de los números enteros pares comprendidos entre el 1 y el 100, es decir, 2 + 4 + 6 +…. + 100. El programa deberá imprimir los números en cuestión y finalmente su sumatoria
5) Desarrolle un algoritmo que lea los primeros 10 números enteros y determine cuántos de ellos son impares; al final deberá indicar su sumatoria.

La segunda la hice a medias y me salio asi :

Código:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    /*Dado 5 notas de un estudiante calcular:
           a) El promedio de notas.
           b) La cantidad de notas aprobadas y desaprobadas.
    */
    
    int N1,N2,N3,N4,N5,P;
    cout << "Ingrese su Primera Nota :";cin>>N1;
    cout << "Ingrese su Segunda Nota :";cin>>N2;
    cout << "Ingrese su Tercera Nota :";cin>>N3;
    cout << "Ingrese su Cuarta Nota :";cin>>N4;
    cout << "Ingrese su Quinta Nota :";cin>>N5;
   
   
    P=(N1+N2+N3+N4+N5)/5;
    
    cout << "Su promedio es : " << P;
    
    
    system("PAUSE");
    return EXIT_SUCCESS;
}
Porfavor si pueden ayudenme, de antemano estoy muy agradecido.Salu2

******************* Respuesta *************************

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
short cuantasNotas = 0, aprovadas = 0, reprovadas = 0; double nota = 0, misNotas = 0, promedio = 0;
//double promedio = 0;

cout<<"\n\nCuantas Notas va a Ingresar: ";
cin>>cuantasNotas;

for(short i = 1; i <= cuantasNotas; i++ ){
cout<<"\nIngrese la Nota "<<i<<": ";
cin>>nota;
if(nota >= 1 && nota < 3){
misNotas += nota;
reprovadas ++;
}
else
aprovadas ++;
misNotas += nota;
}
promedio = ( misNotas/cuantasNotas );
cout<<"\nEl promedio de las notas es: "<<(int)promedio<<"\n\n";
cout<<"El numero de materias aprovadas es: "<<aprovadas<<" y el numero de materias reprovadas es: "<<reprovadas<<"\n\n";

system("PAUSE");
return EXIT_SUCCESS;
}

*********** Demás ejercicios *********************

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
cout<<"\n\nMultiplos de Cinco entre 1 y 100\n\n";
short suma = 0;
for(short i = 5; i <= 100; i+=5){
suma += i;
cout<<" "<<i;
}
cout<<"\n\nEl resultado de los multiplos de cinco entre 1 y 100 es: "<<suma<<"\n\n";
suma = 0;

cout<<"\n\nMultiplos de Dos entre 1 y 100\n\n";
for(short i = 2; i <= 100; i+=2){
suma += i;
cout<<" "<<i;
}
cout<<"\n\nEl resultado de los multiplos de dos entre 1 y 100 es: "<<suma<<"\n\n";

short sumaImpares = 0, contImpares = 0;

cout<<"\n\nNumeros Pares entre 1 y 10\n\n";
for(short i = 1; i <= 10; i++){
if( ( i % 2) != 0){
contImpares ++;
sumaImpares += i;
}
cout<<" "<<i;
}
cout<<"\n\nTotal Numeros Impares Entre 1 y 10: "<<contImpares<<"\n";
cout<<"\nLa suma de los impares entre 1 y 10 es: "<<sumaImpares<<"\n\n\n";
system("PAUSE");
return EXIT_SUCCESS;
}
 

nemesis88

Bovino adicto
#4
Gracias jhon32272 por tu respuesta, justo ya esta haciendolo y me salio algo parecido a lo que habias hecho.
Solo la numero 2 me faltaba.
La verdad si que eres muy bueno en esto.

SAlu2
 
#5
mmm pues te dejo este codigo lo hize yo espero que te ayude ,es sobre el triangulo de pascal,esta hecho en c pero con ligeras modificaciones se pasa a java


# include<stdio.h>
# include<conio.h>

void main()
{ clrscr();


int ma[100][100];

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


for(int j=0;j<i;j++)
{
if((i-1==j) || (j==0))
{

ma[i-1][j]=1;
} else
{

ma[i-1][j]=ma[i-2][j-1]+ma[i-2][j];
}


printf("%d ",ma[i-1][j]);
}

printf("\n\n");
}



getch();
}
 

nemesis88

Bovino adicto
#6
Gracias a todos por ayudarme, en verdad estoy bien agradecido.
Pero resulta que esta vez se me presento un nuevo problema.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
/*
Elabore un programa en DEV C++ que permita
el ingreso de la nota de un alumno. La nota se
debe encontrar entre 1 y 20 o indicar “Error”.
En caso de ser menor de 11, mostrar el mensaje
en pantalla “Suspenso”. Si es 11, mostrar en pantalla
el mensaje “Aprobado”. Si es 12, 13, 14 o 15 mostrar
el mensaje “Notable”. Si se encuentra entre 16 y 19,
mostrar el mensaje “Sobresaliente” y si es 20 el mensaje
debe ser “Matrícula con honor”.
*/

char nota;
cout<<"Ingrese su nota : ";cin>>nota;

//if(nota >=1 && nota<=20){
switch(nota){
case 'nota<=11':cout<<"Suspenso";break;
default: cout<<"valor no definido";
}
/*}else{
cout<<"Error";
}*/

system("PAUSE");
return EXIT_SUCCESS;
}
Ahi esta el avance que hice pero por alguna razon no me sale.
Haber si alguien me apoya o me da ideas de como hacerlo correctamente.Salu2
 

registro500

Bovino adolescente
#7
por lo que veo en el codigo del primer if esta perfecto.... pero en case del switch esta mal por que no se coloca condiciones en los cases ... utiliza if para cada caso.....
ejmp para el primer caso :
Código:
 if( nota<=11 ) cout<<"Suspenso";
para los demas casos se que lo puedes hacer. no esta dificil..... suerte...
 

nemesis88

Bovino adicto
#8
por lo que veo en el codigo del primer if esta perfecto.... pero en case del switch esta mal por que no se coloca condiciones en los cases ... utiliza if para cada caso.....
ejmp para el primer caso :
Código:
 if( nota<=11 ) cout<<"Suspenso";
para los demas casos se que lo puedes hacer. no esta dificil..... suerte...
Si en coincido contigo, deberia usarse un if para cada uno, pero mi profesor me dijo que lo haga con switch puesto que estamos teniendo esa clase
 

registro500

Bovino adolescente
#9
estudiando el switch... se ve interesante ... segun el manual de c++ .
al switch se lo define asi..:
Código:
   [B]switch[/B](variable){
   [B]case[/B] constante1:  
                  secuencia de sentencias
                   break;
   [B]case[/B] constante2:  
                  secuencia de sentencias
                   break;
   ......
.  ......
        [B]default[/B]:  
                  secuencia de sentencias
                   break;
   }
y resolviendo el problema con solo switch seria algo asi...
Código:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    
/*
Elabore un programa en DEV C++ que permita
el ingreso de la nota de un alumno. La nota se
debe encontrar entre 1 y 20 o indicar “Error”.
En caso de ser menor de 11, mostrar el mensaje
en pantalla “Suspenso”. Si es 11, mostrar en pantalla
el mensaje “Aprobado”. Si es 12, 13, 14 o 15 mostrar
el mensaje “Notable”. Si se encuentra entre 16 y 19,
mostrar el mensaje “Sobresaliente” y si es 20 el mensaje
debe ser “Matrícula con honor”.
*/    
int  nota;
cout<<"Ingrese su nota : ";
cin>>nota;

switch(nota){
    case 1: 
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7: 
    case 8:
    case 9: 
    case 10: cout<<"Suspenso"<<endl;
               break;
    case 11: cout<<"Aprobado"<<endl;
               break;           
    case 12:           
    case 13:           
    case 14:           
    case 15: cout<<"Notable"<<endl;
               break;           
    case 16:           
    case 17:           
    case 18:           
    case 19: cout<<"Sobresaliente"<<endl;
               break;           
    case 20: cout<<"MAtricula de honor"<<endl;
               break;           
    default: cout<<"error"<<endl; break;
}    

    system("PAUSE");
    return EXIT_SUCCESS;
}
 

nemesis88

Bovino adicto
#11
estoy de acuerdo, tus dudas no son concrestas, y pones lo que te dejo el maestro como para que nosotros lo leamos y lo implementemos como si fuera nuestratarea! dudas dudas!!
No lo mal interpretes, como veras hay momentos en la cual uno necesita apoyo de alguien y ese alguien si puede resolver o sabe como hacerlo es libre de ayudar poniendo su respuesta desde su punto de vista.
Puede parecer este problema algo facil pero como veras hasta lo facil puede parecer dificil para algunos y lo dificil, facil para otros.
Todo desde el punto de vista.

Doy gracias a todos los que me han apoyado desinterasadamente, esos sujetos aunque no los conosco les tengo una gran admiracion.Salu2:chommy:
 

nemesis88

Bovino adicto
#12
estudiando el switch... se ve interesante ... segun el manual de c++ .
al switch se lo define asi..:
Código:
   [B]switch[/B](variable){
   [B]case[/B] constante1:  
                  secuencia de sentencias
                   break;
   [B]case[/B] constante2:  
                  secuencia de sentencias
                   break;
   ......
.  ......
        [B]default[/B]:  
                  secuencia de sentencias
                   break;
   }
y resolviendo el problema con solo switch seria algo asi...
Código:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    
/*
Elabore un programa en DEV C++ que permita
el ingreso de la nota de un alumno. La nota se
debe encontrar entre 1 y 20 o indicar “Error”.
En caso de ser menor de 11, mostrar el mensaje
en pantalla “Suspenso”. Si es 11, mostrar en pantalla
el mensaje “Aprobado”. Si es 12, 13, 14 o 15 mostrar
el mensaje “Notable”. Si se encuentra entre 16 y 19,
mostrar el mensaje “Sobresaliente” y si es 20 el mensaje
debe ser “Matrícula con honor”.
*/    
int  nota;
cout<<"Ingrese su nota : ";
cin>>nota;

switch(nota){
    case 1: 
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7: 
    case 8:
    case 9: 
    case 10: cout<<"Suspenso"<<endl;
               break;
    case 11: cout<<"Aprobado"<<endl;
               break;           
    case 12:           
    case 13:           
    case 14:           
    case 15: cout<<"Notable"<<endl;
               break;           
    case 16:           
    case 17:           
    case 18:           
    case 19: cout<<"Sobresaliente"<<endl;
               break;           
    case 20: cout<<"MAtricula de honor"<<endl;
               break;           
    default: cout<<"error"<<endl; break;
}    

    system("PAUSE");
    return EXIT_SUCCESS;
}
Brother gracias por la gran ayuda, ni idea tenia que se tenia que hacer eso, y yo que pensaba que se tenia que colocar un if y unos cuantos cases.

Gracias por la gran ayuda.Salu2
 

nemesis88

Bovino adicto
#13
Ultimamente se me a presentado un problemilla mas jeje :)
El problema consiste en Leer un numero entero positivo de tres cifras y determinar si las cifras del numero son o no consecutivas(en orden ascendente o en orden descendente).
En caso que el numero no cumpla con ser positivo de tres cifras, imprimir el mensaje: "El numero debe ser positivo de tres cifras".

Este fue mi avance:
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int numero;
int cifra1,cifra2,cifra3;

cout<<"Ingrese un numero de tres cifras : \n";cin>>numero;
cifra1=numero/10;
cifra2=cifra1/10;
cifra3=cifra2/10;
cout<<"Su cifra 1 es : \n"<<cifra1<<"\n";
cout<<"Su cifra 2 es : \n"<<cifra2<<"\n";
cout<<"Su cifra 3 es : \n"<<cifra3<<"\n";

if(cifra3>cifra2 && cifra2>cifra1){
cout<<"Su numero es ascendente";
}else
if(cifra3<cifra2 && cifra2<cifra1){
cout<<"Su numero es descendente";
}else{
cout<<"el mnumero debe ser positivo de tres cifras";
}


system("PAUSE");
return EXIT_SUCCESS;
}
Espero me puedan ayudar.Salu2
 

registro500

Bovino adolescente
#15
hola men... para ayudarte en tu problema.... podrias colocar ejemplos de numeros consecutivos y los que no son. pues me quede
confundido con el termino :comillas: consecutivo :comillas:
 

registro500

Bovino adolescente
#17
bueno yo trabajaria de esta forma sobre el problema de 3 digitos:

El problema consiste en Leer un numero entero positivo de tres cifras y determinar si las cifras del numero son o no consecutivas(en orden ascendente o en orden descendente).
En caso que el numero no cumpla con ser positivo de tres cifras, imprimir el mensaje: "El numero debe ser positivo de tres cifras".
la solucion :
Código:
#include <cstdlib>
#include <iostream>
#include <math.h>  //importante para el log10

using namespace std;


int main(int argc, char *argv[])
{
     int n,a,b,c;
//     n=543;
    
     
     cout<<"Ingrese un numero de tres cifras : \n";
     cin>>n;
     
     /*
        verificando si numero n es positivo y
        si el numero n tiene 3 cifras
            
     */
     
    if( n<0 || ((int)log10(n) +1 ) != 3  ) // si negativo o si no tiene 3 digitos mostrar mensaje
    {
            cout<<"El numero debe ser positivo de tres cifras"<<endl;
            system("PAUSE");
            return EXIT_SUCCESS;         
    }

    
     /*
        extraendo los digitos en este orden  n=abc ej: n=234 es decir a=2, b=3, c=4
     */
     
     a= (int)n/100;
     b= (int)(n-a*100)/10;
     c= (int)(n - (a*100 + b*10) );
     
     /*     
        evaluando si son ascendentes consecutivos o no
        ej: de numeros consecutivos ascendentes
              123,  789,  567, 456, ....
        ej: de los que no son consecutivos
             465,  132,  145, 478 ....      
     */   
     
    
     if( (a+1)==b && (a+2)==c ){ //son ascedentes consecutivos?
     
        cout<<"Su numero es ascendente consecutivo "<<endl;

                
     }else if( (c+1)==b && (c+2)==a ){ //son descedentes consecutivos?
     
        cout<<"Su numero es descendente consecutivo "<<endl;

     }else{
         cout<<"en numero no esta ordenado "<<endl;            
     }
     

    
    system("PAUSE");
    return EXIT_SUCCESS;
}
puede ser solo se requiera saber o conocer solo si estan en orden ascendente o descendente sin importar si son consecutivos
en ese caso:
reemplazar
if( (a+1)==b && (a+2)==c ){ //son ascedentes consecutivos?
por :
if(a<b && b<c){ //son ascedentes

Y
}else if( (c+1)==b && (c+2)==a ){ //son descedentes consecutivos?

por

}else if( c<b && b<a ){ //son descedentes ?
 

nemesis88

Bovino adicto
#18
registro500 deberias crear un blog o hacer videotutos en la cual enseñes algoritmica, pucha que eres brabazo en esto.Gracias

EDIT : lo que no entendi fue el log10, para que sirve? y porque (int) si ya fue declarado en lineas anteriores?
 

registro500

Bovino adolescente
#19
registro500 deberias crear un blog o hacer videotutos en la cual enseñes algoritmica, pucha que eres brabazo en esto.Gracias

EDIT : lo que no entendi fue el log10, para que sirve? y porque (int) si ya fue declarado en lineas anteriores?
hola men.... tienes razon para los ya estan declarados como entero no es necesario (int) pero para el log10 si lo necesitamos por que dara un valor con decimales
ejm 1.2345 por tanto lo correcto seria (int)log10 y nos devolvera un valor entero... la razon que lo coloque es por confucion de lenguajes de programacion... por otro lado el log10 es el logaritmo normal es para obtener el numero de digitos que tiene un entero lo podes probar con una calculadora siempre se dara la cantidad de digitos - 1 por eso es que tambien se suma 1 para que sea exactamente la misma cantidad de digitos.... bye saludos....
 

nemesis88

Bovino adicto
#20
hola men.... tienes razon para los ya estan declarados como entero no es necesario (int) pero para el log10 si lo necesitamos por que dara un valor con decimales
ejm 1.2345 por tanto lo correcto seria (int)log10 y nos devolvera un valor entero... la razon que lo coloque es por confucion de lenguajes de programacion... por otro lado el log10 es el logaritmo normal es para obtener el numero de digitos que tiene un entero lo podes probar con una calculadora siempre se dara la cantidad de digitos - 1 por eso es que tambien se suma 1 para que sea exactamente la misma cantidad de digitos.... bye saludos....
Y ((int)log10(numero) +1 ) != 3

!=3, en ese caso que me da a entender?, el numero 3 o 3 digitos?

Ahi estoy tambien algo confundido
 
Arriba