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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con el scanf n el for
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con el scanf n el for  (Leído 1,471 veces)
Jorge LuissxX

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con el scanf n el for
« en: 17 Mayo 2019, 23:33 pm »

Tengo este codigo, pero no  se como
 hacer que scanf lea y almacene en una variable diferente los numeros que vayamos ingresando. Mi programa  esta hecho para calcular el promedio de n numeros.
Esperpo me puedan ayudar. Gracias.

#include<stdio.h>

int main()

{
int vm, i;   
   
   printf("Ingresa cuantos valores de la media aritmetica vas a ingresar: ");
   scanf("%d",&vm);
   
   for(i=0;i<vm;i++)
   {
      printf("\nIngresa el numero: ");
      scanf("%d",&/aqui me falta o no se*/ );
//no se como hacerle//
   }
   
   
    printf("\nEl promedio es: %f", *aqui me falta*/ /vm);

return 0;
   
}


En línea

UsuarioZ

Desconectado Desconectado

Mensajes: 64


Ver Perfil
Re: Ayuda con el scanf n el for
« Respuesta #1 en: 18 Mayo 2019, 01:27 am »

Podes declarar una variable que almacene la suma de todas las clasificaciones.

Por ejemplo:

Lexico:
float sumClasificaciones=0, nota;


En el cuerpo de for:

printf("...");
scanf("%f", &nota);
sumClasificaciones += nota;

Tambien deberias agregar una variable que cuente las veces que se repite el cuerpo del for, no seria correcto usar la "i" en este caso por que siempre quedaria con 1+ de las veces que se repitio el cuerpo del for, a menos que le decrementes uno,una vez que termine el for.


« Última modificación: 18 Mayo 2019, 01:42 am por AxelFgz » En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Ayuda con el scanf n el for
« Respuesta #2 en: 18 Mayo 2019, 02:07 am »

Supongo que estás empezando por tu duda y que por tanto no usas memoria dinámica. Entonces puedes hacer lo siguiente:
Código
  1. #define MAX_SIZE 100 // creamos un array/vector de capacidad maxima = 100
  2.  
  3. int main(){
  4.    float notas[MAX_SIZE]; // creamos un array de 100 elementos
  5.    int num_notas; // cantidad de notas que vamos a introducir. Tiene que ser menor o igual que el MAX_SIZE
  6.    float promedio = 0; // promedio de las notas
  7.  
  8.    printf("Introduce el numero de notas que vas a almacenar: ");
  9.    scanf("%d", &num_notas);
  10.  
  11.    for(int i = 0; i < num_notas; ++i){
  12.        printf("Introduce la nota %d: ", i+1);
  13.        scanf("%f", &notas[i]);
  14.    }
  15.  
  16.    // si queremos calcular el promedio...
  17.    for(int i = 0; i < num_notas; ++i)
  18.        promedio += notas[i];
  19.    promedio /= num_notas;
  20. }
Así ya tienes todas tus notas guardadas en un array. Cuando lo vayas a recorrer recuerda recorrerlo hasta <num_notas>, no hasta <MAX_SIZE> ya que desde la posición notas[num_notas] hasta notas[MAX_SIZE-1] tendrás basura.

Si lo quieres solo para el promedio. Puedes hacerlo más simple.
Código
  1. int num_notas; // numero de notas que vamos a introducir
  2. float nota; // guarda la nota actual
  3. float promedio = 0; // acumula la suma de las notas y al final guarda el promedio
  4. // preguntas la cantidad de notas a introducir
  5. for(int i = 0; i < num_notas; ++i){
  6.    printf("Introduce la nota %d: ", i+1);
  7.    scanf("%f", &nota);
  8.    promedio += nota; // equivalente a promedio = promedio + nota
  9. }
  10. promedio /= num_notas; // equivalente a promedio = promedio / num_notas

Citar
Tambien deberias agregar una variable que cuente las veces que se repite el cuerpo del for, no seria correcto usar la "i" en este caso por que siempre quedaria con 1+ de las veces que se repitio el cuerpo del for, a menos que le decrementes uno,una vez que termine el for.
Ya lo tiene agregado eso. En su caso es <vm> (aunque un nombre como <num_notas> es más específico)...
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
funcion scanf ayuda!
Programación C/C++
Fer995 6 5,773 Último mensaje 30 Octubre 2010, 02:31 am
por Fer995
Duda con scanf
Programación C/C++
Caster 3 3,985 Último mensaje 29 Septiembre 2012, 13:01 pm
por Caster
Pregunta de C scanf
Programación C/C++
g0rg3d3l4s3lv4 3 2,504 Último mensaje 15 Marzo 2013, 04:21 am
por g0rg3d3l4s3lv4
scanf y gets « 1 2 »
Programación C/C++
m@o_614 16 7,801 Último mensaje 21 Julio 2013, 19:29 pm
por rir3760
sustituir scanf « 1 2 »
Programación C/C++
m@o_614 11 6,624 Último mensaje 17 Octubre 2013, 17:59 pm
por Eternal Idol
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines