Autor Tema: Ayuda con este algoritmo

0 Usuarios y 1 Visitante están viendo este tema.

28 Septiembre, 2011, 08:18 pm
Leído 1242 veces

eze32

  • $$\Large \color{#5e8d56}\pi\,\pi\,\pi$$
  • Mensajes: 121
  • Karma: +0/-0
  • Sexo: Masculino
Hola tengo que ingresar 200 valores de temperaturas, todos positivos. Se intercalóo luego un valor negativo, ni al principio ni al final del lote. Hacer:
a) la sumatoria de los valores previos al negativo.
b) la productoria de los posteriores al negativo.

Lo que hice fue :

Código:
Código: [Seleccionar]
sum=0;
prod=1;
for(i=1;i<=200;i++)
{ ingreso temperatura;
if(temp>0)
  { sum+=temp;}
else
   {pregunt temperatura de nuevo
if(temp>0)
  {prod*=temp}}
}

30 Septiembre, 2011, 05:49 am
Respuesta #1

Feer

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 7
  • Karma: +0/-0
  • Sexo: Masculino
Hola eze32..

Te dejo el algoritmo funcionando bien pero al revés de tu consigna así pensas como editarlo para que comience a funcionar, se puede optimizar pero lo dejo a tu cargo.
Lo programe en Borland c++, pero no tengo problema si queres que te escriba solo el pseudocódigo!

Código: [Seleccionar]
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

#define MAX 200

int main(void){

int i;
int flag=1;
int temperaturasum=0;
int temperaturapro=0;
int temperatura[MAX];


for(i=0;i<=200;i++){
if(flag){
    puts("Ingrese el valor de temperatura: ");
      scanf("%d",&temperatura[i]);
      if(temperatura[i]>=0){
          temperaturasum = temperaturasum + temperatura[i];
            if(temperaturapro==0){
            temperaturapro = temperatura[i];
               }else{
            temperaturapro = temperaturapro * temperatura[i];
                  }
          flag=1;
         }else
          flag=0;
   }
}
printf("La sumatoria es: %d",temperaturasum);
printf("El producto es: %d",temperaturapro);
getch();
return(0);
}