Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/11/2013, 12:30
Max_4
 
Fecha de Ingreso: mayo-2013
Ubicación: Guadalajara
Mensajes: 53
Antigüedad: 11 años
Puntos: 0
Warnings en Algoritmo?

Tengo estos warning ya intente guardar los indices en una variable decremento, en poner el indice directo.

Warning: Cannot use a scalar value as an array in /Applications/XAMPP/xamppfiles/htdocs/moneda/algotirmo.php on line 11

Warning: Cannot use a scalar value as an array in /Applications/XAMPP/xamppfiles/htdocs/moneda/algotirmo.php on line 17

Warning: Cannot use a scalar value as an array in /Applications/XAMPP/xamppfiles/htdocs/moneda/algotirmo.php on line 17

Warning: Cannot use a scalar value as an array in /Applications/XAMPP/xamppfiles/htdocs/moneda/algotirmo.php on line 17

Warning: Cannot use a scalar value as an array in /Applications/XAMPP/xamppfiles/htdocs/moneda/algotirmo.php on line 41

Warning: Cannot use a scalar value as an array in /Applications/XAMPP/xamppfiles/htdocs/moneda/algotirmo.php on line 41

Warning: Cannot use a scalar value as an array in /Applications/XAMPP/xamppfiles/htdocs/moneda/algotirmo.php on line 41

FUNCIÓN:
Código PHP:
Ver original
  1. function Minima_devolucion($cantidad_devuelta, $monedas)
  2. {
  3.     $longitudMonedas = strlen($monedas);
  4.     //Creamos la matriz de devoluciones
  5.     $matriz_cambio =  array($longitudMonedas+1,$cantidad_devuelta+1);
  6.      
  7.     //Rellenamos la 1ª columna de cero
  8.     for($i = 0; $i < $longitudMonedas; $i++)
  9.     {
  10.         $matriz_cambio[$i][0] = 0;
  11.     }
  12.      
  13.     //La 1ª fila menos la 1ª columna un número alto
  14.     for($j = 1; $j <= $cantidad_devuelta; $j++)
  15.     {
  16.         $matriz_cambio[0][$j] = 999999;
  17.     }
  18.      
  19.     for($i = 1; $i <= $longitudMonedas ; $i++)
  20.     {
  21.        for($j = 1; $j <= $cantidad_devuelta; $j++)
  22.        {
  23.             if($monedas[$i-1] > $j )
  24.             {
  25.                 $matriz_cambio[$i][$j] = $matriz_cambio[$i-1][$j];
  26.             }else
  27.             {
  28.                 //Si la moneda no es superior a la cantidad a devolver
  29.            
  30.                 //Calcular cual es el mínimo de estas dos posiciones
  31.                 $minimo = 0; //Guardaremos aquí el mínimo
  32.                 if($matriz_cambio[$i-1][$j] < $matriz_cambio[$i][$j - $monedas[$i-1]] + 1)
  33.                 {
  34.                     $minimo = $matriz_cambio[$i-1][$j];
  35.                 }else
  36.                 {
  37.                     $minimo = $matriz_cambio[$i][$j - $monedas[$i-1]] + 1;
  38.                 }
  39.                 //Guardamos mínimo
  40.                 $matriz_cambio[$i][$j] = $minimo;
  41.             }
  42.         }
  43.     }
  44.          
  45.     return $matriz_cambio[$longitudMonedas][$cantidad_devuelta];
  46. }

El index.php
Código PHP:
Ver original
  1. <?php
  2.  
  3. include "algotirmo.php";
  4.  
  5. Minima_devolucion(3,4);
  6.  
  7. ?>