//mi codigo por si a alguno le ayuda, es algo diferente al video pero funciona :D //5.4.2 hacer un programa que compare 2 matrices #include void introduce(int matriz_1[2][2],int matriz_2[2][2]); void leer(int matriz_1[2][2],int matriz_2[2][2]); void comparacion(int matriz_1[2][2],int matriz_2[2][2]); int main(){
Me he pasado: //Comparar si dos matrices son iguales #include void introduce(int matriz[][5]); void introduce2(int matriz2[][5]); void comparar(int matriz[][5], int matriz2[][5]); void leer(int matriz[][5]); void leer2(int matriz2[][5]); int main(){ int matriz[5][5], matriz2[5][5]; introduce(matriz); introduce2(matriz2); leer(matriz); leer2(matriz2); comparar(matriz, matriz2); system("pause"); return 0; } void comparar(int matriz[][5], int matriz2[][5]){ int i, j, contador; contador = 0; for(i=0;i
Les compartiré un pequeño secreto... Si usan el srand para llenar automáticamente las dos matrices, se darán cuenta que la primera es igual a la segunda ¿La solución? Lo que pasa es que el ordenador ejecuta en un mismo segundo las dos matrices y como srand (time(NULL)); se basa en el tiempo para generar los números. Lo que tienen que hacer, lo mas fácil es poner: int main (){
int a [5][5]; int b [5][5];
funcion (a);
system ("pause");
funcion (b); Pónganle su like y recuerden dar me gusta al vídeo.
Odio cuando mi programa hace cosas raras, primero por alguna extraña razón se ejecutaba como el primer ejemplo (el de números aleatorios) nunca me dejo meter elementos a las matrices, sólo me aparecía una matriz aleatoria aunque el código estaba tal cual el vídeo, luego copie el código tal cual en otro archivo nuevo y le cambie el nombre al archivo (cabe mencionar que el ejemplo con números aleatorios y el de comparación de matrices tenían nombres distintos) y ya me dejaba introducir elementos pero ahora se hizo un bucle infinito para introducir elementos (repito, no cambie nada del código sólo hice ctrl+c, ctrl+v en un archivo nuevo), revisé con cuidado todo el código linea por linea, letra por letra y estaba exactamente igual, borré la función introducir y la volví a escribir y ya funcionó como debería. ¿Entonces que paso? No tengo idea. Sólo a mi me pasan este tipo de cosas raras u.u
ecelente video aun me da varios errores pero es solo practica , sabes como podria hacer numeros aleatorios y llenar los arrays pero sin que se repitan?
Hola, buenas.Una pregunta, acaso el srand(time(NULL)) no va en el main? O sea en la función principal, y yo estoy viendo que tú pones el srand(time(NULL)) en otra función, y te digo esto por que esta mañana estaba haciendo un exámen de Informática para el grado de matemáticoas y mi profesor me dijo que el srand(time(NULL)) solo se pone en el main
Hola muy buenos tus videos me han ayudado bastante, tengo una consulta técnica también a ver si algún subscriptor también me puede ayudar con esta preguntita, uso VScode para programar pero al momento de ejecutar el codigo me tira 3 errores (primer ejemplo de matriz), "implicit declaration of function" para el srand, rand, y time. El código funciona igual pero debe ser algo que no esta declarado como alguna librería include especial para los rand y time. mi pregunta es la siguiente, ¿Porque el código funciona igual, aunque no este la librería, se agrega automático al compilar, que es lo que pasa por debajo?. Saludos
como seria para trabajar con punteros y matrices, como seria el scanf() y el printf()? segun el video anterior para una dimension seria (v+i) el scanf, y el printf *(v+i)... como seria en este caso, con 2 dimensinoes? no se si se entiende
Buenas! Tengo una duda, he intentado comparar con una función int y me sale un error. Es porque he hecho algun error en el programa o es que no se pueden utilizar funciones int con matrices? Graicas!
Sonia Framis Sin ejemplo de código no te podre ayudar, eso si te advierto que solo contestare si es algo que no aparece en los vídeos o que no se pueda entender de los vídeos. Un saludo.
Dos dudas. En la segunda llamada de una funcion a una matriz, aclaraste que para el segundo par de corchetes hay que colocar si o si el tamaño del vector porque si no da error. Mi pregunta es ¿siempre es en el segundo par de corchetes? o es exclusivamente en el ultimo par de corchetes, o ¿todos los corchetes a partir del segundo par tienen que ser rellenados? Y mi otra duda es con respecto al indice de una matriz, no termino de entender bien como funciona. Es decir en un vector el indice va de cero a infinito (ultimo indice) pero una matriz combina dos indices así que en el caso de una matriz con dos vectores equivaldría a un plano cartesiano, lo que no entiendo es: si la matriz puede tener infinitas dimensiones, cual seria la "dirección" o el "indice" de un dato en particular donde todos los vectores sean mayores que cero (ya que si todos los valores de los vectores son cero, la posición es única). Supongo que si un dato o variable, esta en el indice "2" de uno de los vectores y en el "2" de otro de los vectores la ubicación seria del tipo (2,2) como en el plano cartesiano, pero si agregamos otro vector ya seria una posición tridimensional, y el tema es ¿cual seria su posición para una matriz de cuatro dimensiones? y por otro lado ¿que pasaría si un vector tiene mas objetos que otros? no coincidirían!. En resumen ¿cual es la propiedad que hace qe una matriz relacione dos vectores o mas? porque si solo seria un conjunto de vectores no debería relacionarlos en una cuadricula por ejemplo, eso es lo que no entiendo.
Pepe Pomada Por una lado, las preguntas de codigo que me haces, de cuando poner y tal los numeros entre corchetes, mi recomendacion es que cuando tengas dudas como esas, pruebes las diferentes opciones y trates de extraer conclusiones, asi es como realmente se aprende. Sobre tu duda de las dimensiones de las matrices, estas cometiendo el error de tratar de imaginarte en tu cabeza un plano, un cubo etc, por lo que cuando se llega a 4 dimensiones o mas no eres capaz de imaginar que figura tendria, esto es normal, pero no debes de tratar de imaginar una figura geometrica, en programacion y en matematicas existen infinitas dimensiones, por lo que simplemente haz un vector de las dimensiones que necesites, usalo y listo. Para serte sincero, nunca he utilizado un vector de mas de 3 dimensiones y no creo que mucha gente lo use en su dia a dia, asi que tampoco te preocupes en exceso por eso, lo que ocurre es que tengo que explicar que existe, aunque como te digo, personalmente no le he encontrado utilidad. Un saludo.
Saludos, tengo un problema/duda, cuando utilizo la función aleatoria: srand (time(NULL)); y escribo una ecuacion con el elemento aleatorio (en mi caso m[i][j] = rand()%10;) todo va bien, pero si utilizo la función para dos elementos, matrices en este caso, se escriben los mismos números, he intentado escribir dos funciones iguales para cada elemento pero los numeros se siguen compartiendo ¿como puedo solucionar esto? si es que se puede, te dejo por aquí lo que escribí en C: #include #include void numeracion (int m[][2]); int main(){ int m1[2][2]; int m2[2][2]; numeracion (m1); printf (" "); numeracion (m2); system("pause"); return 0; } void numeracion (int m[][2]){ int i,j; srand (time(NULL)); printf("La matriz es: "); for (i=0;i
Yo lo hice de esta forma me demore un poco pero me deja introducir la dimension que quiero //Matrices #include int fila, columna; void crearMatriz(); void llenarMatriz(int matriz[fila][columna]); void imprimirMatriz(int matriz[fila][columna]); void comprarMatrices(int matriz_1[fila][columna], int matriz_2[fila][columna]); int main() { //Matriz 1 crearMatriz(); int matrix_1[fila][columna]; llenarMatriz(matrix_1); imprimirMatriz(matrix_1); //Matriz 2 crearMatriz(); int matrix_2[fila][columna]; llenarMatriz(matrix_2); imprimirMatriz(matrix_2); //Comparar compararMatrices(matrix_1,matrix_2);
system("pause"); return 0; } void crearMatriz() { //int fila, columna, matriz[fila][columna]; printf("Ingrese el numero de filas: "); scanf("%i", &fila); printf("Ingrese el numero de columnas: "); scanf("%i", &columna); } void llenarMatriz(int matriz[fila][columna]) { int i,j; for(i=1; i
hola emilio.. intente llenar las matrices con srand y rand pero fue infructuoso obtener valores aleatorios. siempre las matrices se llenaban de la misma forma con los mismos valores. crees q podrías explicar como hacer que esas funciones si den valores aleatorios? saludos y añoro mas tutoriales como los que das porque uno aparende con la practica. saludos
+José Manuel Suárez Sierra pon el codigo completo asi te podemos ayudar, capas que es un erro de sintaxis como le paso a el en el video o es otra cosa, repito copia el codigo y va a ser mas facil , saludos
+LionsLite hola a mi me ocurre lo mismo este es mi codigo #include #include void matriz(int M[][3]); void leer(int M[][3]); main() { int M[3][3]; matriz(M); leer(M); getch(); } void matriz(int M[][3]) { int i,j; srand(time(NULL)); for(i=0 ; i
+Erik Ivan Gallardo mira que me costo encontrar el erro pero despues de pensar un poco se me ocurrio pensar en mis errores, y me di cuenta que es un erro de sintaxis el que vos tenes, mira en el segundo for de matriz en donde tenes que usar "J" la tercera condicion pusiste "I" en lugar de "J", ojo con eso la verdad a mi me pasa de seguido jajaja suerte y presta atencion cuando escribis suele pasar : )
Una pregunta ¿porque solo haces 2 funciones?, ¿no deberian ser 3?, una para introducirle valores a la matriz m1 y otra a la m2 ¿no?, ¿como es que con una sola función void con la matriz llamada m[ ] [5] funcione?. GRACIAS
se que hace un año comentaste esto y lo mas seguro es que ya te hayas enterado de la respuesta pero ta de cualquier forma te lo digo: Lo que hizo fue reutilizar la funcion de introduce al colocarle una variable general dentro del parametro de la funcion y poner el mismo nombre de "introduce" para ambas matrices, consiguio reutilizar codigo. Capaz que lo explique para el orto pero asi es como lo entendi, espero haberme explicado
AYUDAAA POR FAVOORRR, bueno mi problema es que cuando doy a compilar y ejecutar , me ejecuta otro programa antiguo , es decir , un ejercicio de hace 3 o 4 capitulos , ya nose que hacer , por favor , ayudaaa
Hola alguien me puede decir cual es el error de este código. Me salta un cartel al compilar windows .. Dejo de funcionar y no hace nada el compilador se queda en negro a que se debe?? #include #include #include #include void introducir (int matriz[5][5]); void leer (int matriz [5][5]); int main (){ //una matriz es un conjunto de vectores. O un vector de varias dimensiones. int matriz[5][5]; introducir(matriz); leer(matriz); system("pause"); return 0; } void introducir (int matriz [5][5]){//en el segundo corchete obligatoriamente poner la direccion. int i,j; srand(time(NULL)); for (i=0;i
¿Alguna ayuda para repartir al azar una cantidad introducida entre varias posiciones de un vector y luego de esas cantidades que se han dividido volver a dividirlas en otras posiciones de otros vectores? A lo que me refiero es, por ejemplo, introducir un importe(un ingreso mensual de un bar por ejemplo), y dividirlo al azar en un determinado numero de dias( un mes por ejemplo),y dentro de las cantidades que se le den a cada dia, dividirlas en otras al azar ( como si lo que ha ganado ese dia se reparte en 2 cafes de 1 euro cada uno, 1 cerveza de 1 euro, 3 tapas de 4 euros...etc) AYUDA URGENTE POR FAVOR, MUCHISIMAS GRACIAS DE ANTEMANO, LLEVO MUCHO TIEMPO INTENTANDOLO Y NO HAY FORMA DE SACARLO :(
¿O SINO PODRIA DECIRME QUE VIDEO SE PARECE O HASTA DONDE HAY QUE VER PARA CONSEGUIR HACERLO (ME REFIERO SI ES DE NIVEL BASICO O MAS AVANZADO? SEGUIRE VIENDOLOS PERO PIENSO QUE ES MUY COMPLEJO
Bechmark Buenas, si no me adjuntas tu codigo, sera imposible encontrar el error, aun asi, te aconsejo que uses el depurador para este tipo de situaciones, explico como usarlo en el bloque 3. Ten en cuenta para el futuro, que usar el depurador te va a llevar 5 segundos, es mas sencillo que escribirme un comentario y esperar mi respuesta xD. Un saludo!
Mientras tanto yo lo hice la matriz con valores fijos . #include void leer (int matriz [3][2]); int main (){ int matriz [3][2]={3,2,7,8,5,4}; leer (matriz);
return 0; } void leer (int matriz [3][2]){ int i,j; for (i=0;i
john Colombia busca en internet como generar numeros aleatorios en c en linux, lo cierto es que yo de linux no se nada, muchas veces depende de la distribucion, etc... por eso mismo prefiero programar en Windows, es mas sencillo. Un saludo
ola, una pregunta, porque no usas las librerías include include ? a mi me compila bien sin las librerias, pero me genera warnings por no tenerlas, crees que no son necesarias? Muchas Gracias
AYUDA AYUDA. Necesito ayuda, y es que yo en este ejercicio cree un programa que comparaba matrices 9x9 y decia el % de semejanza, el problema viene cuando uso la misma función para introducir datos aleatorios en las dos matrices, y es que me introduce exactamente los mismos, he probado a hacer dos funciones pero sigue haciendo lo mismo, ¿como puedo solucionar esto?
Tengo montones de videos mas de matrices, simplemente debes de acceder a la lista de reproduccion: th-cam.com/play/PLw8RQJQ8K1ySN6bVHYEpDoh-CKVkL_uOF.html Un saludo.
Al ejecutar no me muestra ningún elemento: #include #include #include #include using namespace std; void introduce(int matriz[][5]); void leer(int matriz[][5]); int main(){ int matriz[5][5]; introduce (matriz); leer (matriz); system ("pause"); return 0; } void introduce(int matriz[][5]){ int i,j; srand(time(NULL)); for(i=0;i
con las funciones no haces muy largo el codigo ? hoy en diA creo q q piden poco codigo y q sea definido me explicas el real uso de las funciones me paltea :(
esto solo es para este caso pequeño que comparas dos matrices pero ve si quisieras comparar muchísimos datos sin una función quedaría muy grande tu programa intenta compara 5 matrices con una sola, o llena 5 matrices sin usar una función para llenarlos tendrías que crear 5 for anidados y con una función solo usas un for anidado.
Si les tira el error " 'time' was not declared in this scope " es por que tienen que agregar la libreria #include
Saludos! Muy buenos cursos!
GUACHO TE AMOOOO, NO SABÍA QUE ME PASABA. LLÉNENLO DE LIKES GENTE
#include
#include
#include
Gracias!
Te felicito mi pana, eres excelente maestro. Muchas gracias
Excelente mi hermano de otra madre, esto me va a ayudar en mi carrera para ser un programador :D
el problema en la carrera es mas las asignaturas en las que no se programa xD
8 Horas después de empezar a hacer el 3 en raya por mi cuenta, lo conseguí, hahah!!
Gracias por los videos, muy utiles.
gracias por el canal!
A la segunda pero lo hice, viendo un poco, pero ya entendí un poco más, YESS!!
Eres el mejor
//mi codigo por si a alguno le ayuda, es algo diferente al video pero funciona :D
//5.4.2 hacer un programa que compare 2 matrices
#include
void introduce(int matriz_1[2][2],int matriz_2[2][2]);
void leer(int matriz_1[2][2],int matriz_2[2][2]);
void comparacion(int matriz_1[2][2],int matriz_2[2][2]);
int main(){
int matriz_1[2][2];
int matriz_2[2][2];
introduce (matriz_1,matriz_2);
leer (matriz_1,matriz_2);
comparacion (matriz_1,matriz_2);
system("pause");
return 0;
}
void introduce(int matriz_1[2][2],int matriz_2[2][2]){
int i,j,k;
for(k=1 ; k
gracias exelente explicacion
Me he pasado:
//Comparar si dos matrices son iguales
#include
void introduce(int matriz[][5]);
void introduce2(int matriz2[][5]);
void comparar(int matriz[][5], int matriz2[][5]);
void leer(int matriz[][5]);
void leer2(int matriz2[][5]);
int main(){
int matriz[5][5], matriz2[5][5];
introduce(matriz);
introduce2(matriz2);
leer(matriz);
leer2(matriz2);
comparar(matriz, matriz2);
system("pause");
return 0;
}
void comparar(int matriz[][5], int matriz2[][5]){
int i, j, contador;
contador = 0;
for(i=0;i
Les compartiré un pequeño secreto... Si usan el srand para llenar automáticamente las dos matrices, se darán cuenta que la primera es igual a la segunda ¿La solución? Lo que pasa es que el ordenador ejecuta en un mismo segundo las dos matrices y como srand (time(NULL)); se basa en el tiempo para generar los números. Lo que tienen que hacer, lo mas fácil es poner:
int main (){
int a [5][5];
int b [5][5];
funcion (a);
system ("pause");
funcion (b);
Pónganle su like y recuerden dar me gusta al vídeo.
EXCELENTE
Yo si había visto el error, era notable porque com y cam, la segunda sonaba a campana y me pareció gracioso
Odio cuando mi programa hace cosas raras, primero por alguna extraña razón se ejecutaba como el primer ejemplo (el de números aleatorios) nunca me dejo meter elementos a las matrices, sólo me aparecía una matriz aleatoria aunque el código estaba tal cual el vídeo, luego copie el código tal cual en otro archivo nuevo y le cambie el nombre al archivo (cabe mencionar que el ejemplo con números aleatorios y el de comparación de matrices tenían nombres distintos) y ya me dejaba introducir elementos pero ahora se hizo un bucle infinito para introducir elementos (repito, no cambie nada del código sólo hice ctrl+c, ctrl+v en un archivo nuevo), revisé con cuidado todo el código linea por linea, letra por letra y estaba exactamente igual, borré la función introducir y la volví a escribir y ya funcionó como debería.
¿Entonces que paso? No tengo idea. Sólo a mi me pasan este tipo de cosas raras u.u
ecelente video aun me da varios errores pero es solo practica , sabes como podria hacer numeros aleatorios y llenar los arrays pero sin que se repitan?
Hola, buenas.Una pregunta, acaso el srand(time(NULL)) no va en el main? O sea en la función principal, y yo estoy viendo que tú pones el srand(time(NULL)) en otra función, y te digo esto por que esta mañana estaba haciendo un exámen de Informática para el grado de matemáticoas y mi profesor me dijo que el srand(time(NULL)) solo se pone en el main
Te recomiendo que te veas todos los videos si quieres comprender las cosas bien, un saludo.
que tal amigo,
teniendo en claro lo de la matriz, como podría hacer un buscaminas.
podrias ayudarme con eso , gracias !!
Hola muy buenos tus videos me han ayudado bastante, tengo una consulta técnica también a ver si algún subscriptor también me puede ayudar con esta preguntita, uso VScode para programar pero al momento de ejecutar el codigo me tira 3 errores (primer ejemplo de matriz), "implicit declaration of function" para el srand, rand, y time. El código funciona igual pero debe ser algo que no esta declarado como alguna librería include especial para los rand y time. mi pregunta es la siguiente, ¿Porque el código funciona igual, aunque no este la librería, se agrega automático al compilar, que es lo que pasa por debajo?.
Saludos
Matrices con punteroooooos
madre mía locurote
En el ejemplo dos, no frena j, ya que puedo introducir números infinitas veces, AYUDA
como seria para trabajar con punteros y matrices, como seria el scanf() y el printf()? segun el video anterior para una dimension seria (v+i) el scanf, y el printf *(v+i)... como seria en este caso, con 2 dimensinoes? no se si se entiende
Pregunta por que agrego una funcion compara(m2); y no tiene contiene nada
No entiendo nada de las dimensiones ¿Los números entre corchetes son coordenadas x,y?
Una pregunta, como hago para ordenar una matriz cuando ya se cargaron con valores aleatorios? gracias.
Buenas! Tengo una duda, he intentado comparar con una función int y me sale un error. Es porque he hecho algun error en el programa o es que no se pueden utilizar funciones int con matrices? Graicas!
Sonia Framis Sin ejemplo de código no te podre ayudar, eso si te advierto que solo contestare si es algo que no aparece en los vídeos o que no se pueda entender de los vídeos.
Un saludo.
Dos dudas. En la segunda llamada de una funcion a una matriz, aclaraste que para el segundo par de corchetes hay que colocar si o si el tamaño del vector porque si no da error. Mi pregunta es ¿siempre es en el segundo par de corchetes? o es exclusivamente en el ultimo par de corchetes, o ¿todos los corchetes a partir del segundo par tienen que ser rellenados?
Y mi otra duda es con respecto al indice de una matriz, no termino de entender bien como funciona. Es decir en un vector el indice va de cero a infinito (ultimo indice) pero una matriz combina dos indices así que en el caso de una matriz con dos vectores equivaldría a un plano cartesiano, lo que no entiendo es: si la matriz puede tener infinitas dimensiones, cual seria la "dirección" o el "indice" de un dato en particular donde todos los vectores sean mayores que cero (ya que si todos los valores de los vectores son cero, la posición es única). Supongo que si un dato o variable, esta en el indice "2" de uno de los vectores y en el "2" de otro de los vectores la ubicación seria del tipo (2,2) como en el plano cartesiano, pero si agregamos otro vector ya seria una posición tridimensional, y el tema es ¿cual seria su posición para una matriz de cuatro dimensiones? y por otro lado ¿que pasaría si un vector tiene mas objetos que otros? no coincidirían!.
En resumen ¿cual es la propiedad que hace qe una matriz relacione dos vectores o mas? porque si solo seria un conjunto de vectores no debería relacionarlos en una cuadricula por ejemplo, eso es lo que no entiendo.
Pepe Pomada Por una lado, las preguntas de codigo que me haces, de cuando poner y tal los numeros entre corchetes, mi recomendacion es que cuando tengas dudas como esas, pruebes las diferentes opciones y trates de extraer conclusiones, asi es como realmente se aprende.
Sobre tu duda de las dimensiones de las matrices, estas cometiendo el error de tratar de imaginarte en tu cabeza un plano, un cubo etc, por lo que cuando se llega a 4 dimensiones o mas no eres capaz de imaginar que figura tendria, esto es normal, pero no debes de tratar de imaginar una figura geometrica, en programacion y en matematicas existen infinitas dimensiones, por lo que simplemente haz un vector de las dimensiones que necesites, usalo y listo.
Para serte sincero, nunca he utilizado un vector de mas de 3 dimensiones y no creo que mucha gente lo use en su dia a dia, asi que tampoco te preocupes en exceso por eso, lo que ocurre es que tengo que explicar que existe, aunque como te digo, personalmente no le he encontrado utilidad.
Un saludo.
Saludos, tengo un problema/duda, cuando utilizo la función aleatoria: srand (time(NULL)); y escribo una ecuacion con el elemento aleatorio (en mi caso m[i][j] = rand()%10;) todo va bien, pero si utilizo la función para dos elementos, matrices en este caso, se escriben los mismos números, he intentado escribir dos funciones iguales para cada elemento pero los numeros se siguen compartiendo ¿como puedo solucionar esto? si es que se puede, te dejo por aquí lo que escribí en C:
#include
#include
void numeracion (int m[][2]);
int main(){
int m1[2][2];
int m2[2][2];
numeracion (m1);
printf ("
");
numeracion (m2);
system("pause");
return 0;
}
void numeracion (int m[][2]){
int i,j;
srand (time(NULL));
printf("La matriz es:
");
for (i=0;i
UNA PREGUNTA, ALGÚN TEXTO DE REFERENCIA SOBRE LAS POSICIONES DE LAS MEMORIAS Y FUNDAMENTOS DE LO QUE EXPLICAS, PORFAVOR ; PD. EXCELENTE CONTENIDO
Yo lo hice de esta forma me demore un poco pero me deja introducir la dimension que quiero
//Matrices
#include
int fila, columna;
void crearMatriz();
void llenarMatriz(int matriz[fila][columna]);
void imprimirMatriz(int matriz[fila][columna]);
void comprarMatrices(int matriz_1[fila][columna], int matriz_2[fila][columna]);
int main()
{
//Matriz 1
crearMatriz();
int matrix_1[fila][columna];
llenarMatriz(matrix_1);
imprimirMatriz(matrix_1);
//Matriz 2
crearMatriz();
int matrix_2[fila][columna];
llenarMatriz(matrix_2);
imprimirMatriz(matrix_2);
//Comparar
compararMatrices(matrix_1,matrix_2);
system("pause");
return 0;
}
void crearMatriz()
{
//int fila, columna, matriz[fila][columna];
printf("Ingrese el numero de filas:
");
scanf("%i", &fila);
printf("Ingrese el numero de columnas:
");
scanf("%i", &columna);
}
void llenarMatriz(int matriz[fila][columna])
{
int i,j;
for(i=1; i
hola emilio.. intente llenar las matrices con srand y rand pero fue infructuoso obtener valores aleatorios. siempre las matrices se llenaban de la misma forma con los mismos valores.
crees q podrías explicar como hacer que esas funciones si den valores aleatorios?
saludos y añoro mas tutoriales como los que das porque uno aparende con la practica.
saludos
creo q tenes q poner la semilla SRand en la principal y no en la funcion!
como son los ejercicios de pixeles?
Buenas, al poner matriz[i][j]=rand()%10; el programa me dice Implicit declararon of función ´rand´ is invalud in C99 ¿porque ocurre esto?
+José Manuel Suárez Sierra pon el codigo completo asi te podemos ayudar, capas que es un erro de sintaxis como le paso a el en el video o es otra cosa, repito copia el codigo y va a ser mas facil , saludos
+LionsLite hola a mi me ocurre lo mismo este es mi codigo
#include
#include
void matriz(int M[][3]);
void leer(int M[][3]);
main()
{
int M[3][3];
matriz(M);
leer(M);
getch();
}
void matriz(int M[][3])
{
int i,j;
srand(time(NULL));
for(i=0 ; i
+Erik Ivan Gallardo mira que me costo encontrar el erro pero despues de pensar un poco se me ocurrio pensar en mis errores, y me di cuenta que es un erro de sintaxis el que vos tenes, mira en el segundo for de matriz en donde tenes que usar "J" la tercera condicion pusiste "I" en lugar de "J", ojo con eso la verdad a mi me pasa de seguido jajaja suerte
y presta atencion cuando escribis suele pasar : )
Para el que no entienda lo de las matrizes en su forma absracta les dejo este video para que lo entiendan th-cam.com/video/wiuEEkP_XuM/w-d-xo.html
Una pregunta ¿porque solo haces 2 funciones?, ¿no deberian ser 3?, una para introducirle valores a la matriz m1 y otra a la m2 ¿no?, ¿como es que con una sola función void con la matriz llamada m[ ] [5] funcione?. GRACIAS
Mejor que preguntar, es verte los videos anteriores, un saludo.
Siempre respondes esto xd y te lavas las manos asi xd
XD gracias. y por cierto si vi los videos XD, pero me falta un poquito mas XD.
se que hace un año comentaste esto y lo mas seguro es que ya te hayas enterado de la respuesta pero ta de cualquier forma te lo digo: Lo que hizo fue reutilizar la funcion de introduce al colocarle una variable general dentro del parametro de la funcion y poner el mismo nombre de "introduce" para ambas matrices, consiguio reutilizar codigo. Capaz que lo explique para el orto pero asi es como lo entendi, espero haberme explicado
me causo gracia que no notabas que habias puesto campara en la funcion y en la llamada pusiste compara
Hola no encuentro el juego de 3 en raya, me puedes decir donde se encuentra ?. Muchas gracias
tienes que mirar las listas de reproduccion del canal, ahi es donde viene toda la informacion. th-cam.com/play/PLw8RQJQ8K1yQZyhplheIkd5qtuYXM-qtx.html
AYUDAAA POR FAVOORRR, bueno mi problema es que cuando doy a compilar y ejecutar , me ejecuta otro programa antiguo , es decir , un ejercicio de hace 3 o 4 capitulos , ya nose que hacer , por favor , ayudaaa
uuh que grandeee
graciaaas
Yo lo he hecho de la siguiente manera:
// Comparacion matrices#include #define p printf
#define s scanfvoid insertar(int maz1[][8], int maz2[][8]);
void leer(int maz1[][8], int maz2[][8]);int main() {
int maz1[2][8];
int maz2[2][8];
insertar(maz1,maz2);
leer(maz1,maz2);
system("pause");
return 0;
}
void insertar(int maz1[][8], int maz2[][8]) {
int i,j;
srand(time(NULL));
for(i = 0; i < 2; i++) {
for(j = 0; j < 8; j++) {
maz1[i][j] = rand()%16;
maz2[i][j] = rand()%16;
}
}
}
void leer(int maz1[][8], int maz2[][8]) {
int i,j,k,l;
for(i = 0; i < 2; i++) {
for(j = 0; j < 8; j++) {
p("%i ",maz1[i][j]);
}
p("
");
}
p("
");
for(k = 0; k < 2; k++) {
for(l = 0; l < 8; l++) {
p("%i ",maz2[k][l]);
}
p("
");
}
p("
");
if(maz1[i][j] == maz2[k][l]) {
p("Ambas matrices son iguales
");
}
}
Hola alguien me puede decir cual es el error de este código. Me salta un cartel al compilar windows .. Dejo de funcionar y no hace nada el compilador se queda en negro a que se debe??
#include
#include
#include
#include
void introducir (int matriz[5][5]);
void leer (int matriz [5][5]);
int main (){ //una matriz es un conjunto de vectores. O un vector de varias dimensiones.
int matriz[5][5];
introducir(matriz);
leer(matriz);
system("pause");
return 0;
}
void introducir (int matriz [5][5]){//en el segundo corchete obligatoriamente poner la direccion.
int i,j;
srand(time(NULL));
for (i=0;i
en los for anidados pusiste i envés de j en los dos
Gracias después me di cuenta !!
¿Alguna ayuda para repartir al azar una cantidad introducida entre varias posiciones de un vector y luego de esas cantidades que se han dividido volver a dividirlas en otras posiciones de otros vectores? A lo que me refiero es, por ejemplo, introducir un importe(un ingreso mensual de un bar por ejemplo), y dividirlo al azar en un determinado numero de dias( un mes por ejemplo),y dentro de las cantidades que se le den a cada dia, dividirlas en otras al azar ( como si lo que ha ganado ese dia se reparte en 2 cafes de 1 euro cada uno, 1 cerveza de 1 euro, 3 tapas de 4 euros...etc)
AYUDA URGENTE POR FAVOR, MUCHISIMAS GRACIAS DE ANTEMANO, LLEVO MUCHO TIEMPO INTENTANDOLO Y NO HAY FORMA DE SACARLO :(
¿O SINO PODRIA DECIRME QUE VIDEO SE PARECE O HASTA DONDE HAY QUE VER PARA CONSEGUIR HACERLO (ME REFIERO SI ES DE NIVEL BASICO O MAS AVANZADO? SEGUIRE VIENDOLOS PERO PIENSO QUE ES MUY COMPLEJO
aun te hace falta?, creo que puedo ayudar almenos un poco...
Buenas, he hecho lo mismo que tu pero usando numeros aleatorios(he tenido que hacer varios intentos hasta que me han salido iguales >.
Bechmark Buenas, si no me adjuntas tu codigo, sera imposible encontrar el error, aun asi, te aconsejo que uses el depurador para este tipo de situaciones, explico como usarlo en el bloque 3.
Ten en cuenta para el futuro, que usar el depurador te va a llevar 5 segundos, es mas sencillo que escribirme un comentario y esperar mi respuesta xD.
Un saludo!
Yo lo he hecho un poco distinto:
// matriz#include #define p printf
#define s scanfvoid insertar(int m[9][9]);
void leer(int m[9][9]);
void insertar2(int m2[9][9]);
void leer2(int m2[9][9]);
void comparar(int m[9][9], int m2[9][9]);int main() {
int m[9][9];
int m2[9][9];
insertar(m);
leer(m);
insertar2(m2);
leer2(m2);
comparar(m,m2);
return 0;
}
void insertar(int m[9][9]) {
srand(time(NULL));
int i,j;
for(i = 0; i < 9; i++) {
for(j = 0; j < 9; j++) {
m[i][j] = rand()%3;
}
}
}
void leer(int m[9][9]) {
int i,j;
for(i = 0; i < 9; i++) {
for(j = 0; j < 9; j++) {
p("%i ",m[i][j]);
}
p("
");
}
p("
");
}
void insertar2(int m2[9][9]) {
srand(time(NULL));
int i,j;
for(i = 0; i < 9; i++) {
for(j = 0; j < 9; j++) {
m2[i][j] = rand()%9;
}
}
}
void leer2(int m2[9][9]) {
int i,j;
for(i = 0; i < 9; i++) {
for(j = 0; j < 9; j++) {
p("%i ",m2[i][j]);
}
p("
");
}
p("
");
}
void comparar(int m[9][9], int m2[9][9]) {
int i,j,aux,c;
aux = 0;
c = 0;
for(i = 0; i < 9; i++) {
for(j = 0; j < 9; j++) {
if(m[i][j] != m2[i][j]) {
aux = 1;
c++;
}
}
}
if(aux == 1) {
p("No son iguales.
");
} else {
p("Si son iguales.
");
}
p("%i numeros diferentes.
",c);
}
Hay alguna manera fácil de multiplicar matrices. Gracias.
No sabes si la semilla srand (time(NULL)) es tambien para linux es que me da error
Mientras tanto yo lo hice la matriz con valores fijos .
#include
void leer (int matriz [3][2]);
int main (){
int matriz [3][2]={3,2,7,8,5,4};
leer (matriz);
return 0;
}
void leer (int matriz [3][2]){
int i,j;
for (i=0;i
john Colombia busca en internet como generar numeros aleatorios en c en linux, lo cierto es que yo de linux no se nada, muchas veces depende de la distribucion, etc... por eso mismo prefiero programar en Windows, es mas sencillo.
Un saludo
Si es mejor windows , lo buscare. mientras tanto lo hare con valores fijos.
Gracias
ola, una pregunta, porque no usas las librerías include include ? a mi me compila bien sin las librerias, pero me genera warnings por no tenerlas, crees que no son necesarias? Muchas Gracias
en el video del juego tres en rayas incluyo la libreria time.h, al igual que vos yo me pregunto lo mismo
AYUDA AYUDA.
Necesito ayuda, y es que yo en este ejercicio cree un programa que comparaba matrices 9x9 y decia el % de semejanza, el problema viene cuando uso la misma función para introducir datos aleatorios en las dos matrices, y es que me introduce exactamente los mismos, he probado a hacer dos funciones pero sigue haciendo lo mismo, ¿como puedo solucionar esto?
Introduce la semilla
SI HICISTE OTRO VIDEO DE MATRICEES ES QUE CASI NO LO ENTIENDO
Tengo montones de videos mas de matrices, simplemente debes de acceder a la lista de reproduccion:
th-cam.com/play/PLw8RQJQ8K1ySN6bVHYEpDoh-CKVkL_uOF.html
Un saludo.
Al ejecutar no me muestra ningún elemento:
#include
#include
#include
#include
using namespace std;
void introduce(int matriz[][5]);
void leer(int matriz[][5]);
int main(){
int matriz[5][5];
introduce (matriz);
leer (matriz);
system ("pause");
return 0;
}
void introduce(int matriz[][5]){
int i,j;
srand(time(NULL));
for(i=0;i
para qué mete tantas librerías?
Mejor haga el código como en el vídeo ;)
y los printf???
te falto los printf
No le faltan los printf el usa cout
jajaja, si pongo la matriz que sea de 5x1 entonces es un vector ineficiente???
con las funciones no haces muy largo el codigo ? hoy en diA creo q q piden poco codigo y q sea definido me explicas el real uso de las funciones me paltea :(
esto solo es para este caso pequeño que comparas dos matrices pero ve si quisieras comparar muchísimos datos sin una función quedaría muy grande tu programa intenta compara 5 matrices con una sola, o llena 5 matrices sin usar una función para llenarlos tendrías que crear 5 for anidados y con una función solo usas un for anidado.
como hacer un algoritmo que recorra una matriz en forma de caracol y en forma de la letra z?
Me aparecen en fila y esta escrito tal cual el video.
perdón ya lo corregí
me salio :V sin mirar lo de comparar matrices :)
Habrá que practicarlo más durante la semana.
xDDDDDDDDDDDDDDD
Escribes tan chico, que no se sabe si es un ; o :,
Siempre es ";", prácticamente nunca se pone ":", que recuerde ahora de memoria, tan solo se pone después de los switch.
Muchas gracias.
QUE NO HAGAS FUNCIONEEEEEESSSS