Título: Alguien que me revise esto y me diga si esta bien
Publicado por: creiko en 11 Mayo 2016, 17:25 pm
#include"stdlib.h" #include"conio.h" #include"time.h" #include"iostream" int main() { int i,j,opc,num,a,n,p=0; printf("PROGRAMA MATRIZ CON MENU \n\n"); printf("Digite la cantidad de filas y columnas en la matriz (solo positivos) \n\n"); int x[num][num]; int l=num+1; if(num>0) { printf("* Elija Una Opcion \n\n"); printf("1. Colocar cero en ambas diagonales de la matriz \n"); printf("2. Colocar cero en la primera y la última fila, y en la primera y la última columna de la matriz \n"); printf("3. Llenar de números la matriz de tal forma que mat[i][j] sea igual a i+j. \n"); printf("4. Llenar la diagonal principal de la matriz con los números 1,2,...N \n"); printf("5. Llenar todas las filas pares con los números 1,2,3,...N, y las filas impares con los números N,N-1,N-2,...1. \n"); printf("La opcion escojida es la numero: \n"); switch(opc) { case 1: for(i=1;i<=num;i++) { for(j=1;j<=num;j++) { if(i==j) { x[i][j]=0; } else if(i==l-j) { x[i][j]=0; } else { } } } for(i=1;i<=num;i++) { for(j=1;j<=num;j++) { } } break; case 2: for(i=1;i<=num;i++) { for(j=1;j<=num;j++) { if(i==1) { x[i][j]=0; } else if(j==1) { x[i][j]=0; } else if(i==num) { x[i][j]=0; } else if(j==num) { x[i][j]=0; } else { } } } for(i=1;i<=num;i++) { for(j=1;j<=num;j++) { } } break; case 3: for(i=1;i<=num;i++) { for(j=1;j<=num;j++) { x[i][j]=i+j; } } break; case 4: for(i=1;i<=num;i++) { for(j=1;j<=num;j++) { if(i==j) { x[i][j]=0+j; } else { } } } for(i=1;i<=num;i++) { for(j=1;j<=num;j++) { } } break; case 5: for (i=1;i<=num;i++) { p=0; a=1; for(j=1;j<=num;j++) { if(i %2==0) { x[i][j]=a; a++; } else { x[i][j]=num-p; p++; } } } for(i=1;i<=num;i++) { for(j=1;j<=num;j++) { } } break; default: break; } } }
Mod: Los códigos deben ir en etiquetas GeSHi
Título: Re: Alguien que me revise esto y me diga si esta bien
Publicado por: abaadoon en 12 Mayo 2016, 01:21 am
esta mal amigo eso quedaria asi #include"stdlib.h" #include"conio.h" #include"time.h" #include"iostream" #define NUM 50 int main() { int i,j,opc,num,a,n,p=0; printf("PROGRAMA MATRIZ CON MENU \n\n"); printf("Digite la cantidad de filas y columnas en la matriz (solo positivos) \n\n"); int x[NUM][NUM]; int l=num+1;
ETC.......... jajajjajaj ya no le sigo por que yo tambien e venido a este foro a pedir ayuda :) Mod: Los códigos deben ir en etiquetas GeSHi, 3ra advertencia
Título: Re: Alguien que me revise esto y me diga si esta bien
Publicado por: AlbertoBSD en 12 Mayo 2016, 15:03 pm
Muy buen dia. A opcion que te mostraron anteiormente es valida pero lo limita a una matriz de 50 x 50. Tu linea int x[num][num];
No es valida en tiempo de ejecucion. por que el compilador necesita saber a priori cuanta memoria reservar. De lo contrario tienes que usar memoria dinamica para ello. int *x = calloc(num *num ,sizeof(int));
Y el acceso a la matriz se debe de hacer de forma mas o menos asi. y = x[fila*num+ columna];
|