• Sábado 4 de Mayo de 2024, 10:58

Autor Tema:  Recursividad!!!!!!!!!!!!!!!!!!  (Leído 1276 veces)

fORU-

  • Miembro MUY activo
  • ***
  • Mensajes: 225
  • Nacionalidad: mo
    • Ver Perfil
Recursividad!!!!!!!!!!!!!!!!!!
« en: Lunes 17 de Septiembre de 2007, 06:56 »
0
hola que tal.. quisiera saber como utilizar una matriz como parametro de una funcion, tengo la nocion de mas o menos como hacerle pero al compilar marca errores, y creanme ya estoy hasta la materia gris. jejej bueho ahi les va los que quiero mas o menos realizar y como segun yo se puede realizar. cualquier comentario es bienvenido gracias..

se requiere llenar una matriz aleatoriamente con 5 numeos enteros donde la matriz es de 3x3, para poder realizar este llenado se necesita validar que no se ponga 1 donde ya lo haya y que solo se puedan poner 1 si en la posicion de la matriz es 0... ando medio zombie asi que disculpen la falta de ortografia y la mala gramatica...

///////////codigo1
ejemplo de como lo hago en dentro de main
#include <conio.h>
#include <stdio.h>
#include<stdlib.h>
void main(void)
{   int i=0,iRand=0,jRand=0,v[3][3]={0};
     randomize();
     do
     {   iRand=random(3);
          jRand=random(3);
          if(v[iRand][jRand]==0)
          {   vRand[jRand]=1;
               i++;
          }
     }while(i<5);
}

ahora la pregunta del millon como le hago para hacerlo en una funcion ??? segun los pocos conociminetos que tengo en c es algo asi:

/////codigo2:
void ponerUno(int m[][],int fila, int col)
{   int fiRand=0,fjRand=0;
     randomize();
     fiRand=random(fila);
     fjRand=random(col);
     if(m[iRand][jRand]==0)
           m[iRand][jRand]=1;
     else
           ponerUno(m[fila][col],fila,col);    
}

///////bueno este ejemplo de la matriz ya como parametro esta mal asi que si entienden mas o menos lo que quiero hacer y saben donde esta el error en el codigo 2 favor de hacerme saber.. thx

pd el codigo 1 ya lo compile y corri y si hace lo que quiero..
atte:fORU-

fORU-

  • Miembro MUY activo
  • ***
  • Mensajes: 225
  • Nacionalidad: mo
    • Ver Perfil
Re: Recursividad!!!!!!!!!!!!!!!!!!
« Respuesta #1 en: Miércoles 19 de Septiembre de 2007, 03:11 »
0
ea ea ya se como hacerle ahi les va a todos los curiosos que quieran saber como, estudienle para que les sea  util en un futuro.


/*VALIDACION DENTRO DE UNA MATRIZ DE 3X3 PARA INSERTAR 3 UNOS EN LA MATRIZ Y QUE NO SE INSERTE 1 DONDE YA HAY UN UNO*/
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void ValidacionUnos(int m[3][3],int k)  //k numero de unos a insertar a la matriz
{   int iRand, jRand;
     iRand=random(3);
     jRand=random(3);
     if(m[iRand][jRand]==0&&k>0)
     {   m[iRand][jRand]=1;
   ValidacionUnos(m,k-1);
     }
     else
     {  if(m[iRand][jRand]==1)
   ValidacionUnos(m,k);
     }
}
void main(void)   // main
{      int i,j,k=3,v[3][3]={0};//inicializo la matriz en 0's
       clrscr();
       randomize();
       ValidacionUnos(v,k);  //mando a llamar la funcion
       for(i=0;i<3;i++)
   for(j=0;j<3;j++)
   {  gotoxy(j+5,i+5);
      printf("%d",v[j]);
   }
   getch();
}
atte:fORU-