SoloCodigo
Programación General => C/C++ => C++ Builder => Mensaje iniciado por: fORU- en Lunes 17 de Septiembre de 2007, 06:56
-
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..
-
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();
}