Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2016, 13:15
aguml
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 2 meses
Puntos: 3
Necesito orientacion con planteamiento de codigo en C

Hola amigos, he estado viendo como se comprueban los motores de ventiladores de aires acondicionado y se me ocurrió crearme un código para hacerlo más rápido. El caso es que llevo parias horas y no doy con la tecla.
En un ventilador con 3 cables uno es el común al que van conectadas las dos bobinas, los otros dos son las otras puntas de las bobinas.
Si se mide la resistencia, entre los dos cables que de la mayor resistencia va un condensador.
Los dos que dan menor resistencia son los que están conectados a la bobina de arranque.
Los que quedan por probar son los que van conectados a la bobina de funcionamiento.
Por ejemplo, si tenemos un cable rojo, uno negro y uno blanco y:
-Entre rojo y negro hay 200.
-Entre rojo y blanco hay 450.
-Entre negro y blanco hay 250.
Por lo tanto el condensador va entre rojo y blanco porque es la mayor medida.
Las dos bobinas suman lo mismo que la medida mayor así que el común es el negro ya que para que me entiendan ahí va el signo de sumar jijiji.
El cable N va al común y el L va al cable que sea el de la bobina mayor que en este caso es el blanco.
La idea es que primero me pida los colores de los cables, luego me pida los valores entre los cables y me muestre entre cuales va el condensador, en cual va el N y en cual el L.
Tengo este código pero no soy capaz de que funcione correctamente:
Código C:
Ver original
  1. #include <stdio.h>
  2. #define NCABLES 3
  3. int main ()
  4. {
  5.     char cable [NCABLES][25];
  6.     int i,j,n=0,mayor=0,menor;
  7.     float valor [NCABLES];
  8.    
  9.     for (i=0;i <NCABLES;i++)
  10.     {
  11.         printf ("Introduce el color %d: ",i+1);
  12.         scanf ("%s",cable [i]);
  13.     }
  14.     for (i=0;i<NCABLES-1;i++){
  15.         for (j=i+1;j<NCABLES;j++){
  16.             printf ("Introduce la resistencia entre el %s y el %s: ",cable[i], cable[j]);
  17.             scanf ("%f",valor [n]);
  18.         }
  19.     }
  20.     menor=valor[0];
  21.  
  22.     for (i=0;i<NCABLES;i++){
  23.         if (valor [mayor]>valor [i]){
  24.             mayor=i;
  25.         }
  26.         if (valor [menor]<valor [i]){
  27.             menor=i;
  28.         }
  29.     }
  30.     if (mayor ==0){
  31.         printf ("El condensador va entre el %s y el %s",cable [mayor],cable [NCABLES-1]);
  32.     }else {
  33.         printf ("El condensador va entre el %s y el %s",cable [mayor],cable [mayor-1]);
  34.     }
  35. }
De aquí saque la idea: https://m.youtube.com/watch?v=RiBraC2-e9I
¿Podéis Ayudarme?

Última edición por aguml; 21/07/2016 a las 13:40