Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/11/2014, 21:37
ArashiTensei
 
Fecha de Ingreso: junio-2011
Mensajes: 19
Antigüedad: 13 años, 4 meses
Puntos: 0
Problema de ejecución en c

Estoy batallando con un while, no hay error de compilacion, si pongo un if me funciona mero el resultado no es lo que quiero, necesito el while para que detenga el contador y me indique la casilla donde se encuentra el valor de la variable mayor que expreso en este codigo

#include <stdio.h>
#include <stdlib.h>
#include <iostream>

int main(){

int n,x=0, r,cont=0;
printf("Cantidad de objetos : ");
scanf("%d",&n);
printf("Restriccion : ");
scanf("%d",&r);
float c[n],b[n],i[n];
float apuntador = 0;
int t;
int solucion[n];
for(t=0;t<n;t++){
solucion[t]=0;
}
printf("\n---<<<<<Ingrese los datos >>>>>---- ");
for(int x=0;x<n;x++){
printf("\n\n\tCosto del objeto %d = ", x+1);
scanf("%f.2",&c[x]);
printf("\n\tValor del objeto %d = ",x+1);
scanf("%f.2",&b[x]);
printf("\n----Objeto agregado -----\n", x+1);
i[x] = c[x] / b[x];
printf("Cociente : [%f]",i[x]);
}

float mayor= 0;
int d;
for (int x=0;x<n ; x++){
if(i[x] > mayor){
mayor = i[x];
solucion[x]=i[x];
if(mayor > r){
i[x] = 0;
mayor=i[0];
x=0;
}
}
}

i[x]=0;
for(x=0;x<n;x++){
while(i[x] != mayor){ // es aqui el problema
cont++; // necesito 2 valores , el valor de
} //mayor que ya lo tengo, y su respectivo lugar en el arreglo i[x], cuando ejecuto me traba el programa sin hacer nada.

printf("\n---> Mayor = %d",cont);

}



printf("\n===========================\n");
printf(" \nObjeto con mejor relacion Costo-Beneficio: #%d \ncon cociente de [%f] \n",cont,mayor);


}