Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/07/2015, 11:35
veravluis
 
Fecha de Ingreso: julio-2015
Mensajes: 15
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Sumar vector por una condicion

Cita:
Iniciado por Instru Ver Mensaje
Estas bastante cerca de la solución.

Algunos detalles:

Código:
if( edad > 17 && gdd <= 3.1){
        cont = cont + 1;    }
       
        for(j = 0 ; j < 7 ; j++ ){
        printf("Deme su calificacion del 1 a 10 \n");
        scanf("%f",&puntajes[j]);
       
        acum = puntajes[0]+puntajes[1]+puntajes[2]+puntajes[3]+puntajes[4]+puntajes[5]+puntajes[6];
       
        }
Este código no esta del todo bien.
La variable cont sólo la usaste al final para mostrar el numero de clavadistas con la condicion especificada. Esta variable la podrías aprovechar mas.

El for que usaste no es lo mas conveniente. No entiendo por qué pides 7 calificaciones.

Lo que podrías hacer es tener un arreglo de puntajes para los clavadistas mayores de 17 y con gdd menor a 3.1

Código:
int puntaje17[n];
.
.
.
if( edad > 17 && gdd <= 3.1){
printf("Deme su calificacion del 1 a 10 \n");
        scanf("%f",&puntaje17[cont]);
        cont = cont + 1;    }
//Al final calculas la suma
for(...)
acum += puntaje17[i];
Espero haberte ayudado.

Saludos
Buena ayuda pero creo que estoy haciendo algo mal me poder corregir?
gracias de antemano
//Aun no me suma el puntajet = puntaje total de las personas con esta condicion
Código HTML:
Ver original
  1. if( edad > 17 && gdd <= 3.1 )

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(){
  5.    
  6.     unsigned int clavad,edad,n = 0;
  7.     unsigned int i = 0,cont=0,j = 0;
  8.     float puntajes[7],puntajet = 0,puntaje = 0,mayor,menor;
  9.     float gdd,promedio = 0,acum = 0;
  10.     unsigned char nombre[20];
  11.     int puntaje17[n],acum1 = 0;
  12.    
  13.     printf("cuantos clavadistas participaran\n");
  14.     scanf("%d",&clavad);
  15.    
  16.         for( i = 0; i < clavad ; i++ ){
  17.        
  18.         printf("\nNombre del clavadista\n");
  19.         scanf("%s",&nombre);
  20.         fflush (stdin);
  21.         printf("Deme la edad del clavadista : %s \n",nombre);
  22.         scanf("%d",&edad);
  23.         printf("Grado de dificultad con el que saltara el clavadista : %s \n",nombre);
  24.         scanf("%f",&gdd);
  25.         if( edad > 17 && gdd <= 3.1 ){
  26.         printf("Deme su calificacion del 1 a 10 \n");
  27.         scanf("%f",&puntaje17[cont]);
  28.         cont = cont + 1; }
  29.        
  30.         acum1 += puntaje17[i];
  31.        
  32.         for(j = 0 ; j < 7 ; j++ ){
  33.         printf("Deme su calificacion del 1 a 10 \n");
  34.         scanf("%f",&puntajes[j]);
  35.        
  36.         acum = puntajes[0]+puntajes[1]+puntajes[2]+puntajes[3]+puntajes[4]+puntajes[5]+puntajes[6];
  37.        
  38.         }
  39.        
  40.        
  41.         mayor = puntajes[0];
  42.             for(j = 0 ; j < 7 ; j++ )
  43.             {
  44.                 if(mayor < puntajes[j]);
  45.                     mayor = puntajes[j];
  46.             }
  47.         menor = puntajes[0];
  48.             for(j = 0 ; j < 7 ; j++ )
  49.             {
  50.                 if(mayor > puntajes[j]);
  51.                     menor = puntajes[j];
  52.             }
  53.            
  54.         puntajet = ( acum * 0.6 ) * gdd;
  55.        
  56.         printf("\npuntaje acumulado del salto del clavadista %s es de : %.1f \n ",nombre,puntajet);
  57.         printf("\nPuntaje mayor de : %s fue de : %.1f \n",nombre,mayor);
  58.         printf("\nPuntaje menor del clavadista : %s fue de : %.1f\n",nombre,menor);
  59.    
  60.         }  
  61.  
  62.         printf("\nEl numero de participantes con edad mayor 17 & grado de dificultad menor o igual a 3.1 es de %d \n",cont);
  63.         printf("\nEl puntaje total acumulado de los participantes fue : %.1f \n",acum1);   
  64.         system("pause");
  65. }

Última edición por veravluis; 12/07/2015 a las 11:56