elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ejercicio " calcular la diferencia "
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ejercicio " calcular la diferencia "  (Leído 3,401 veces)
el gusanillo

Desconectado Desconectado

Mensajes: 20


Ver Perfil
ejercicio " calcular la diferencia "
« en: 30 Diciembre 2017, 07:48 am »

Buenos días, estoy intentando dar forma al siguiente ejercicio. A ver si me podeis ayudar un poco.
aprovecho para desearos a todod un feliz 2018

Escribid un programa que dado un array de 10 enteros (introducidos a  mano en el código),calcule la diferencia entre el valor menor y mayor.


#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
const int max=10;
float notas[10];
float mayor=0;
float menor=100;
float nmenor;
float nmayor;
float suma=0;
int i;
void main()
for(i=0;i<=max-1;i++)
{
   cout<<"Ingrese la nota"<<i<<endl;
   cin>>notas;
}
//Encuentro el mayor,menor y promedio
for(i=0;i<=max-1;i++)
{
   if(notas>mayor)
   {
      mayor=notas;
      nmayor=i
      if (notas<menor)
      {
         menor=notas;
         nmenor=i;
      }
      suma=suma+notas;
   }
   cout<<"la nota mayor es"<<mayor<<"y esta en la posicion"<<nmayor<<endl;
   cout<<"la noata menor es"<<menor<<"y esta en la posicion"<<menor<<endl;
   cout<<endl;
   for(i=0;i<max-1;i++)
   cout<<"la nota"<<i<<"es"<<notas<<endl;
   getch();
}


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: ejercicio " calcular la diferencia "
« Respuesta #1 en: 31 Diciembre 2017, 00:57 am »

Pues, a parte de que hay unas cuantas cosas mal: main debe ser siempre int y no hay apertura de llaves en main, el programa no hace lo que dice el enunciado, a saber:
· array de 10 enteros introducido a mano en el código
· encontrar la diferencia entre el mínimo y el máximo (¿no será entre el máximo y el mínimo?)


« Última modificación: 31 Diciembre 2017, 00:59 am por MAFUS » En línea

el gusanillo

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: ejercicio " calcular la diferencia "
« Respuesta #2 en: 20 Enero 2018, 07:23 am »

Muchas gracias por su aportación.Tomo buena nota y sigo trabajando en ello.
Soy novato en programación y autodidacta, asi que a base de estronciarme, voy aprendiendo.
Un saludo.
En línea

dariodr01

Desconectado Desconectado

Mensajes: 27


Ver Perfil
Re: ejercicio " calcular la diferencia "
« Respuesta #3 en: 20 Enero 2018, 17:23 pm »

Te dejo este codigo. Lo hice tal como dice el enunciado.
Salu2

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int maximo=5;
  5.  
  6. float notas[maximo];
  7. float mayor=0;
  8. float menor,diferencia;
  9. float suma=0;
  10. int i;
  11.  
  12. int main() {
  13.  
  14.  for(i=0; i<maximo; i++)
  15.  {
  16.    cout<<"Ingrese la nota"<<i<<endl;
  17.    cin>>notas[i];
  18.  }
  19.  
  20.  //Encuentro el mayor,menor
  21.  menor = notas[1];
  22.  
  23.  for(i=0; i<maximo; i++)
  24.  {
  25.    if(notas[i] > mayor)
  26.      mayor=notas[i];
  27.    else if (notas[i] < menor)
  28.      menor=notas[i];
  29.   }
  30.  
  31.   diferencia = mayor - menor;
  32.  
  33.   cout << "La diferencia entre la nota mayor y la nota menor es " << diferencia;
  34.  
  35.   return 0;
  36. }
  37.  
En línea

el gusanillo

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: ejercicio " calcular la diferencia "
« Respuesta #4 en: 27 Enero 2018, 07:17 am »

Buenos días, muchísimas gracias. Esto de aprender a piñón es duro. Me he propuesto aprender un poco de programación, por lo menos lo básico, y así entender algo de lo que empiezan a hacer mis hijos.
Un saludo.
En línea

dijsktra

Desconectado Desconectado

Mensajes: 110


Mr Edsger Dijsktra (Tribute to)


Ver Perfil
Re: ejercicio " calcular la diferencia "
« Respuesta #5 en: 2 Febrero 2018, 16:15 pm »

Te dejo este codigo. Lo hice tal como dice el enunciado.
Salu2

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. const int maximo=5;
  5.  
  6. float notas[maximo];
  7. float mayor=0;
  8. float menor,diferencia;
  9. float suma=0;
  10. int i;
  11.  
  12. int main() {
  13.  
  14.  for(i=0; i<maximo; i++)
  15.  {
  16.    cout<<"Ingrese la nota"<<i<<endl;
  17.    cin>>notas[i];
  18.  }
  19.  
  20.  //Encuentro el mayor,menor
  21.  menor = notas[1];
  22.  
  23.  for(i=0; i<maximo; i++)
  24.  {
  25.    if(notas[i] > mayor)
  26.      mayor=notas[i];
  27.    else if (notas[i] < menor)
  28.      menor=notas[i];
  29.   }
  30.  
  31.   diferencia = mayor - menor;
  32.  
  33.   cout << "La diferencia entre la nota mayor y la nota menor es " << diferencia;
  34.  
  35.   return 0;
  36. }
  37.  
El programa está mal. contraejemplo: [-5,-5,-5,-5,-4] con 5 enteros, da diferencia 5, y debe dar 1. -4 -(-5)= 1

En otro post... https://foro.elhacker.net/programacion_cc/tengo_un_ejercicio_al_que_no_doy_formanecesito_un_empujon-t479671.0.html hablo del problema de un incorrecto valor inicial.


El siguiente problema da la diferencia entre la nota mayor y menor de un array de (N) elementos...

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. /*
  5.   P : N > 0
  6.   Q : d = M - m
  7.   where
  8.   M = max i : 0 <= i < N : V[i]
  9.   m = min i : 0 <= i < N : V[i]
  10.  
  11.   I : Q[N/n] and 1<= n <= N and *
  12.   M = max i : 0 <= i < n : V[i]
  13.   m = min i : 0 <= i < n : V[i]  
  14.  
  15.   *  M,m for efficiency reasons.
  16.   C(n) : N - n >= 0
  17.   O(n)
  18. */
  19. int dist(const int V[], const int N)
  20. {
  21.  int M,m,n;
  22.  for(M=m=V[0], n=1 ; n < N ; n++)
  23.    {
  24.      M = (V[n] > M)?V[n]:M;
  25.      m = (V[n] < m)?V[n]:m;      
  26.    }
  27.  return (M-m);
  28. }
  29.  
  30. #define MAX 1000
  31. int main (int argc, char **args)
  32. {
  33.  int N=0;
  34.  int V[MAX];
  35.  for ( ; cin >> V[N]; N++);
  36.  cout << dist(V,N) << endl;
  37. }


Salida de pantalla

Código:
-5 -5 -4
1

Otro
Código:
-5 25 -2 -3
30


« Última modificación: 2 Febrero 2018, 16:52 pm por dijsktra » En línea

Si la depuración es el proceso de eliminar fallos en el software, entonces programar debe ser el proceso de ponerlos dentro. (Edsger Dijsktra)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
recursos visual basic, """"""proceso inmortal"""""
Análisis y Diseño de Malware
Dark4ngel 7 13,273 Último mensaje 3 Noviembre 2011, 10:42 am
por Dark4ngel
[Ayuda] Algoritmos para calcular contraseñas "por defecto" de routers
Redes
DoHITB 3 3,008 Último mensaje 1 Julio 2013, 14:44 pm
por HdM
Diferencia entre "shellcode" y "payload"
Bugs y Exploits
Lodos76 6 11,586 Último mensaje 4 Junio 2014, 22:09 pm
por wachaiti
Duda "Análisis de circuitos". Calcular Vo en este Amplificador operacional.
Foro Libre
seryioo 0 1,430 Último mensaje 26 Agosto 2015, 14:26 pm
por seryioo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines