Autor
|
Tema: Ayudaaaaaa!!! ejercicios de programacion en c (Leído 6,552 veces)
|
Skarface
Desconectado
Mensajes: 6
|
me pueden ayudar a resolver estos ejercicios porfavor =)
1) Construir un programa en C, usando funciones, que permita crear una matriz A de N x M, una matriz B de P x Q (con P <= N y Q <= M) y permita determinar si la matriz B se encuentra contenida en la matriz A.
2) Usando la implementación de pilas y filas que se ha revisado en clases se pide construir un programa en C, usando funciones, que permita cumplir con los siguientes requerimientos: Eliminar de una pila ‘p’ todos los elementos que son múltiplos de un valor ‘k’, la pila resultante de eliminar los elementos DEBE estar a su capacidad MÁXIMA. Insertar en una pila, en la posición K, un valor X. Eliminar de una fila ‘f’ todos los elementos que son múltiplos de un valor ‘k’, la fila resultante de eliminar los elementos DEBE estar a su capacidad MÁXIMA. Insertar en una fila, en la posición K, un valor X. Las signaturas de las funciones DEBERÁN ser las que se indican a continuación: PILA eliminarPilaMultiplos(PILA p, int k) PILA insertarPilaUbicacionK(PILA p, int k, int x) FILA eliminarFilaMultiplos(FILA f, int k) FILA insertarFilaUbicacionK(FILA f, int k, int x)
|
|
|
En línea
|
|
|
|
Og.
Desconectado
Mensajes: 822
Aprendiendo de la vida
|
No se hacen tareas, postea lo que llevas y te ayudamos.
|
|
|
En línea
|
|-
|
|
|
Skarface
Desconectado
Mensajes: 6
|
#include <stdio.h> int main() { int R [50] [50]; int S [50] [50]; int fr, cr, fs, cs; printf("Inserte filas de R: "); scanf("%d",&fr); printf("Inserte columnas de R: "); scanf("%d",&cr); printf("Inserte filas de S: "); scanf("%d",&fs); printf("Inserte columnas de S: "); scanf("%d",&cs); printf("\nLLENANDO MATRIS R: \n"); llenarMatriz(R, fr, cr); printf("\nLLENANDO MATRIS S: \n"); llenarMatriz(S, fs, cs); printf("\nLA MATRIS R : "); mostrarMatriz(R, fr, cr); printf("\n\nLA MATRIS S : "); mostrarMatriz(S, fs, cs); void llenarMatriz(int M[50][50], int f, int c) { for (int i=1;i<=f;i++) { for (int j=1 ;j<=c;j++) { printf ("Inserte pos[%d][%d]: ",i,j); scanf("%d",&M [i] [j]); } } } void mostrarMatriz(int M[50][50], int f, int c) { for (int i = 1 ; i <= f ; i++) { printf("\n"); for (int j = 1 ; j <= c ; j++) { printf ("[%d]",M [i] [j]); } } }
ahora no se como crear la funcion para ver si una esta contenida en la otra =(
|
|
« Última modificación: 21 Julio 2010, 14:21 pm por Littlehorse »
|
En línea
|
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
¡Buenas!
El algoritmo de resolucion, consta de 4 sencillos pasos:
1- Te pones a pensar hasta que tengas una idea. 2- Intentas pasar la idea a tu lenguaje favorito. 3- Si encuentras algun problema, lo posteas y vemos que se puede hacer. 4- Si no se ha solucionado el ejercicio vuelves al paso 1.
¡Saludos!
|
|
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
Skarface
Desconectado
Mensajes: 6
|
la idea es guardar todos los elementos de la matriz b en vectores, una fila en cada vector for(i=1;i<=p;i++){ for(j=1;j<=q;j++){ V(i)[i-1]= M [j]; } aora no se me ocurre como hacer para ver si ese vector esta dentro de la matriz
|
|
|
En línea
|
|
|
|
Gallu
Desconectado
Mensajes: 247
|
Primero que nada compañero te aconsejaria que entiendas bien el enunciado para poder explicarte bien , si no la verdad aqui no se aclara ni Dios.... 1) Construir un programa en C, usando funciones, que permita crear una matriz A de N x M, una matriz B de P x Q (con P <= N y Q <= M) y permita determinar si la matriz B se encuentra contenida en la matriz A.
vamos por partes , te piden un programa que cree dos matrices de n dimensiones , la primera matriz será matrizA [N][M]
la matriz B será menor que la matriz a en todo sentido (con P <= N y Q <= M)
con lo cual matrizB[P][Q]
en ningun momento dicen que las matrices deben de ser de 50X50 , una vez que las tenga llenas , tomas el primer elemento de la matriz más pequeña y lo vas comparando con cada uno de los elementos de la más grande , si encuentras coincidencia , pasas al segundo elemento de matrizB y asi , si los elementos de matrizB se encuentran consecutivamente en matrizA , significa que matrizA contiene a matrizB. No se si esto te ha aclarado las cosas , ya me dirás algo ...
|
|
|
En línea
|
Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
|
|
|
Skarface
Desconectado
Mensajes: 6
|
si entiendo lo que me dices, pero es como un limite que le doi para ver si compila =) aora ya tengo casi listo el programa pero no me arroja lo que quiero que es ver que si esta contenida o no, no se donde esta el error #include <stdio.h> #include <conio.h> void llenar (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { printf ("Inserte pos[%d][%d]: ",i ,j ); } } } void mostrar (int M[20][20], int f, int c) { for (int i = 1 ; i <= f ; i++) { for (int j = 1 ; j <= c ; j++) { } } } int main() { int A [20] [20]; int B [20] [20]; int V[20]; int m, n, p, q,i,j,x,y,s; printf("Inserte filas de A: "); printf("Inserte columnas de A: "); printf("Inserte filas de B: "); printf("Inserte columnas de B: "); if(m<p){ printf("B no esta contenida en A \n"); return 0; } if(n<q){ printf("B no esta contenida en A \n"); return 0; } printf("\nLLENANDO MATRIS R: \n"); llenar (A, m, n); printf("\nLLENANDO MATRIS S: \n"); llenar (B, p, q); mostrar (A, m, n); mostrar (B, p, q); for(j=1;j<=q;j++){ i=1; V[i-j]= B[i][j]; } for(i=1;i<=m;i++){ for(j=1;j<=n;j++){ if(V[i-1]==A[i][j]){ x=j; } } } for(i=1;i<=p;i++){ for(j=1;j<=q;j++){ V[i-j]= B[i][j]; } } for(i=1;i<=m;i++){ for(j=1;j<=n;j++){ if(V[i-1]==A[i][j]){ y=j; s=x+q; if((s<=n)&&(x==y)){ for(j=x;j<=n;j++){ if(V[i-1]=! A[i][j]){ printf("B no esta contenida en A \n"); } else{ printf("B esta contenida en A \n"); } } } } } } }
|
|
« Última modificación: 22 Julio 2010, 00:41 am por Littlehorse »
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Moderador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Skarface, te he agregado las etiquetas GeSHi a tu ultimo post. Para la próxima que pongas código, hazlo así:
C [code=c]codigo[/code]
C++ [code=cpp]codigo[/code]
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
Skarface
Desconectado
Mensajes: 6
|
perdon es que soy nuevo aca jejeje me pueden ayudar a corregir ese codigo porfavor???
|
|
|
En línea
|
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
No vi to el codigo pero ya por aqui estas errado: for(j=1;j<=q;j++){ i=1; V[i-j]= B[i][j]; }
i-j te puede dar negativo y pes eso no debe pasar Saludos... Luego sigo viendo
|
|
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
|
|