75. Programación en C++ || Funciones || Paso de parámetros de tipo matriz
HTML-код
- Опубликовано: 9 фев 2025
- Puedes apuntarte al curso completo en la siguiente plataforma:
Hotmart: hotmart.com/es...
Para poder enviar matrices hacia una función, hace falta enviar como parámetros, la matriz indicando el número máximo de columnas, y además el número de filas y columnas como enteros.
tipo NombreFuncion(tipo matriz[][Ncol],int nfilas, int ncolumnas)
Visita mi sitio web para más cursos:
programacionat...
Sigueme por las redes sociales:
Facebook ProgramacionATS: goo.gl/sqmEE1
Twiter: goo.gl/WE4oaP
Hotmail: alejandro.acb@hotmail.com
Facebook personal: goo.gl/xL9qLl
instagram: @alejandroats
Cuenta paypal para donaciones: migueltaboadas@hotmail.com
💻 Apúntate al curso completo de Programación en C++:
Hotmart: hotmart.com/es/marketplace/productos/programacion-en-c-v0ivo/N78682741H
Ya pasó más de un año y todavía me seguís enseñando...
Te extrañaremos siempre.
No dejes de subir este curso. Tengo 29 años y siempre he estado muy interesado en la programacion pero he sido un vago. Ahora tengo claro que quiero hacer la carrera de ingenieria informatica de sistemas(asi se llama aqui en España) y ni con ningun otros tutoriales ni con libros se plasma tan claramente como lo explicas tu. Mi mas sincera enhorabuena
lo lograste?
@Dreikmaister
lo conseguiste?
Lo lograste
@dreikmaster9511
Muchas gracias por estos cursos, no dudo que él se hubiese ido por otros lenguajes de programación. Gracias.
Mi profesor de programación me recomendó tus videos y de verdad que me han sido de gran ayuda, te lo agradezco mucho. Saludos desde Nayarit
Muy bien explicado, gracias. es el mejor ejemplo que he podido encontrar y de verdad que llevo rato buscando esa solución quede satisfecho. Tome su Me Gusta buen hombre, Bendiciones.
Muchas gracias por el apoyo David :) Un saludo
muchas gracias maestro, a tu memoria seguiré reforzando mis conocimientos siempre orgulloso de recordar que si soy cada día mejor es porque camino a hombre de gigantes, un abrazo hasta donde estés.
Gracias a estos videos aprendo mas que en la uni joder. Gracias por la ayuda crack!!
XD pero si ya habías creado una función para mostrar matrices, lo único que cambiaba era el texto "mostrando matriz original"
pero en fin , muy buenos tus vídeos me ayudas mucho a progresar saludos desde arequipa.
es que si usaba esa misma funcion, salia otra vez "matriz original"
@@killuafeelings5309 no amigo, tiene razon Saul!, no era necesario, la funcion de mostrarmatrizElevada() es redundante. ya que de la forma en que pasa la matriz, lo hace por parametro, entonces cuando eleva al cuadrado, esta escribiendo sobre la misma matriz. en todo caso, lo unico que cambia entre las dos funciones es que muestra un mensaje diferente. saludos
@@maurolanzillotta4820 entonces lo mejor era poner un cout
@@killuafeelings5309 compara la funcion mostrar matriz y mostrarmatriz elevada, vas a ver que son iguales, se diferencian en que los cout son diferentes, pero esos cout podes ponerlos en el main antes de llamar a las funciones, y te ahorras una funcion.
@@maurolanzillotta4820 graciass
me sirven mucho tus videos, te has ganado mi confianza. gracias
genio siempre salvandome. QEPD
al chile ya siento que te amo, gracias compa
Pidiendo el numero de filas y columnas
#include
#include
using namespace std;
void pedirDatos(int vec[][500],int filas,int columnas);
void MostrarMatriz(int vec[][500],int filas,int columnas);
void cuadrado(int vec[][500],int filas,int columnas);
void MostrarMatrizCuadrado(int vec[][500],int filas,int columnas);
int main () {
int f,c, matriz[30][500];
cout f;
cout c;
pedirDatos(matriz,f,c);
MostrarMatriz(matriz,f,c);
cuadrado(matriz,f,c);
MostrarMatrizCuadrado(matriz,f,c);
getch();
return 0;
}
void pedirDatos(int vec[][500],int filas,int columnas) {
cout
Excelente
Gracias amigo, me ayudaste mucho a mi también, sigue con tus videos...
Gracias a ti por ver :) Un saludo
GRAN MAESTRO
Que clase de loco le da dislike a los videos de este hombre?
me atrasé un poco en este curso :v jajaja por las vacaciones, pero lo retomaré ya! sigue así buenos vídeos:')
sigue haciendo videos, tu muy bien ayudas muchísimo.
//paso de parametros de tipo matriz
//Hacer una funcion que eleve los elementos al cuadrado
#include
#include
#include
using namespace std;
//c++ nos obliga a poner el numero de columnas minimo
void cargar_mostrar_matriz_inicial(int m[][5], int, int);
void elevar(int m[][5], int, int);
int main()
{
const int fil=5;
const int colum=5;
int matriz[fil][colum];
cargar_mostrar_matriz_inicial(matriz,fil,colum);
//Para llamar a una matriz solo hace falta poner el nombre
elevar(matriz,fil,colum);
system("pause");
return 0;
}
void cargar_mostrar_matriz_inicial(int m[][5], int f, int c)
{
srand (time(NULL));
for(int i=0; i
Gracias aún me sigues ayudando 😭💔
jaja este curso tiene todas mis dudas gracias
Muchas gracias por el aporte :) Saludos amigo.
Me parece bien que se explique mientras hace el ejercicio
Cecyt 14,4IV6, Jessica Álvarez
Gracias por los videos, muy bien explicado!
Yo creo que no era necesario crear otra función para mostrar la matriz elevada al cuadrado. A continuación les comparto mi solución:
/*
Paso de parámetros tipo matriz
Elevar al cuadrado todos los elementos de una matriz
*/
#include
#include
#define CLS "clear"
using namespace std;
void mostrarMatriz(int[][3], int, int);
void calcularCuadrado(int[][3], int, int);
int main(int argc, char **argv){
const int fil=2;
const int col=3;
int m[fil][col] = {{1,2,3},{4,5,6}};
cout
Se lee mejor por separado, la idea de las funciones "supongo" es separar los problemas por parte. Va que puedes hacerlo todo en una funcion no?.
Me resultó bastante útil ,cecyt 14,4IV6,Carlos Mendoza
Gracias Crack.
Podrías haber reutilizado el método de imprimir matrices.
mismo problema pero con las filas y columnas deseadas en matriz:
#include
#include
using namespace std;
void pedirDatos();
void calcularMatriz(int mat[][30],int ,int);
void mostrarMatrizelevada(int mat[][30],int,int);
int mat[30][30];
int fila;
int columna;
int main()
{
pedirDatos();
cout
graxias man
te amo :3
yo también johnatan😏😏
soy un viejo👴👴👴 de 40 años
¿Por qué no es necesario pasar la matriz por referencia a la función calcularCuadrado()?
hola amigo tengo esa misma duda, veo que tu comentario ya tiene un año ajaja lograste descubrir porque??? me podrias decir porfa :(, yo estoy aprendiendo otro lenguaje pero pasa lo mismo
Se me complico un poco, Cecyt 14 Luis Enrique Erro, Areli Mendoza, 4iv5
hola quisiera saber que hago
si quiero que me retorne una matriz
Hola, muy buen video, pero necesito tu ayuda. He tratado de hacer el mismo programa pero con una matriz de n x n, pidiéndole el numero de filas y columnas al usuario. El problema es que a la hora de invocar la función dentro del main no me compila y no entiendo porque. Si me puedes ayudar estaría muy agradecido
Ya lo lograste?
@@sdasdasdasdasdasdasdasda T -T
realmente no es necesario crear una función de "mostrarMatrizElevada", solamente tienen que llamar la función ya creada "mostrarMatriz" ya que la función anterior ya hace el trabajo, no es necesario crear dos funciones diferentes pero iguales.
Bueno yo tengo un problema y es que en mi ejercicio yo pongo el numero de filas y columnas de mi matriz y al correrlo sin parámetros todo sale bien pero luego de colocar los parámetros el programa también corre, pero me dice que ninguno de los numero que ingreso cumple con la condición aun que yo ingrese números que si cumplan y pues nose si el problema estará en poner en los parámetros int num[][100] ya que después de eso como te digo ninguno de los números ingresados cumple la condición
Una duda... Si en la funcion de "Calcularcuadrado" los parámetros no tienen el signo "&", ¿no debería de crearse una copia de la matriz original y al momento de llamar a la funcion "Mostrarmatrizelevada" los elementos de la matriz deben quedar intactos?
cuando se hace el paso de parámetros de tipo vector y matriz es como si se hiciera un paso de parámetro por referencia
#include
#include
using namespace std;
void menor (int matriz[][5], int filas, int columnas, int numero_fila);
int main (){
const int filas = 2, columnas = 5;
int matriz [filas][columnas] = {{78,45,6,3,5},{2,54,4,24,2}};
int numero_fila;
coutnumero_fila;
menor(matriz,filas,columnas,numero_fila);
return 0;
}
void menor (int matriz[][5], int filas, int columnas, int numero_fila){
int menor = 0, pos1, pos2;
for(int i=0;i
me sale este error:
m.cpp:22:22: error: cannot convert 'int (*)[n]' to 'int (*)[100000]' for argument '1' to 'void MuestraArreglo(int (*)[100000], int, int)'
MuestraArreglo(A,n,n);
Tengo una consulta alejandro. Da igual utilizar un #define para establecer las dimensiones de fila y de columna? saludos!!
jajaja hace 3 años la pregunta , si es lo mismo ... aca te dejo mi codigo declarando filas y columnas como macros
#include
#define N 10
#define M 10
//paso de paramereos tipo MATRIZ
using namespace std;
void pedirDatos( );
void mostrarmatriz(int mat[][M], int , int );
void calcular_cuadrado(int mat[][M],int ,int );
void mostrar_cuadrado(int mat[][M],int ,int);
int mat[N][M];
int filas, columnas, cont=0;
int main(int argc, char *argv[]) {
coutfilas;
coutcolumnas;
pedirDatos();
mostrarmatriz(mat,filas,columnas);
calcular_cuadrado(mat,filas, columnas);
mostrar_cuadrado(mat,filas, columnas);
cout
dudo que te vaya a poder responder alejandro bro
Cómo le hago para hacer una función que lea dos matrices
я вас люблю
Hola amigo, tengo una duda, he estado investigando y no he dado con la respuesta, espero me puedas ayudar: La pregunta es como podria hacer para pasar los datos de tipo array o matriz pero sin saber cuantos elementos hay... no se si me di a entender
Si aun no lo has hecho dime
Y si es una suma de matrices?
lo mismo pero declando filas y columnas como macros
#include
#define N 10
#define M 10
//paso de paramereos tipo MATRIZ
using namespace std;
void pedirDatos( );
void mostrarmatriz(int mat[][M], int , int );
void calcular_cuadrado(int mat[][M],int ,int );
void mostrar_cuadrado(int mat[][M],int ,int);
int mat[N][M];
int filas, columnas, cont=0;
int main(int argc, char *argv[]) {
coutfilas;
coutcolumnas;
pedirDatos();
mostrarmatriz(mat,filas,columnas);
calcular_cuadrado(mat,filas, columnas);
mostrar_cuadrado(mat,filas, columnas);
cout
Y si quiero ingresar n filas y n columnas?
mira yo lo hice de esta manera usando constantes y variables globales:
//Paso de parámetros de tipo matriz
//Elevar al cuadrado todos los elementos de la matriz
#include
#include
#include
using namespace std;
const int N = 1000;
const int M = 1000;
void pedirDatos();
void mostrarMatriz(int matriz[][M], int num_fil, int num_col);
void cuadradoMatriz(int matriz[][M], int num_fil, int num_col);
int mat[N][M], num_fil, num_col;
int main()
{
pedirDatos();
cout
Como puedo pasar el la matriz si no se el numero de columnas?. Me explico en la parte de void (float m[][]) justo alli te pide el numero de columnas, pero no me deja poner una variable, ya que el usuario es el que me va a dar el numero de columnas
Ahi no tienes que poner el numero de columnas si no solo un numero que sea el maximo de columnas que va a poder tener.
osea tu pones 100 o 1000 y el usuario no puede poner más de esas.
¿Se podría también cargar los elementos de una matriz usando funciones?
Obvio
#include
#include
#include
using namespace std;
void llenarm(int[][100],int,int);
void elevar(int[][100],int,int);
void imprimir(int[][100],int,int);
int tx,ty,m[100][100];
int main () {
couttx>>ty;
llenarm(m,tx,ty);
imprimir(m,tx,ty);
elevar(m,tx,ty);
imprimir(m,tx,ty);
return 0;
}
void llenarm(int c[][100],int x,int y) {
srand(time(NULL));
for(int i=0;i
hola alguien sabe como hacer para que la matriz se vea ordenada(cuadrada) cuando hay numero de 1, 2 o mas dígitos??
Tabulandola, pero si son muchos estara gigante la tabla xd
con la libreria iomanip usando la funcion setw, investiga sobre eso
porque no uso el pow que es elevacion ???
por que no hace falta ya que solo esta elevado al cuadrado .
eiy amigo me podrias ayudar con una ecuacion en c++? porfa
Necesito ayuda con este ejercicio TODO CON FUNCIONES EN C++
hacer un menu
- operaciones:
-Factoreial
-algoritmos ordenados 3
-op. basicas (+, *, -, /, x^3, x^2, x^0.5, etc.)
-vectores (ingreso y busqueda)
-matrices (ingreso y busqueda)
-subprogramas (con valor, funciones, por referencia)
Me sale esto [Error] cannot convert 'int (*)[COL]' to 'int (*)[5]' for argument '1' to 'void POT(int (*)[5], int, int)' .-.
a mi tambien cómo lo arreglastes?
[Error] cannot convert 'int (*)[2]' to 'int (*)[100]' for argument '1' to 'void mostrar_matriz(int (*)[100], int, int)'
A alguien le salio?
creo que me doy mala vida por un cuestion tan simple pero PORQUE NO DECLARO "I" Y "J" en ningun lado ayuda
En el for fueron declaradas esas variables