Título: no se que esta mal
Publicado por: kjg en 1 Diciembre 2016, 06:45 am
no se que esta mal, se supone que debe poner 6 "1" , sin sobre esribir ninguno, pero no se porque no se puede #include <stdio.h> #include <stdlib.h> #include<time.h> #define N 5 #define M 5 int main() { int tablero[N][M]; int i,j,k; int numbarcos=(N*M)/4; printf("se colocaran %d barcos",numbarcos ); for(i=0;i<N;i++) for(j=0;j<M;j++) tablero[i][j]=0; printf ("tablero original\n"); for(i=0;i<N;i++) { for(j=0;j<M;j++) } int hora,r,col; for(k=0;k<numbarcos;k++){ }else { break; } } int c=0; for(i=0;i<N;i++) for(j=0;j<M;j++) if (tablero[i][j]==1) c=c+1; printf("se colocaron %d barcos\n",c ); printf("tablero con barcos\n"); for(i=0;i<N;i++) { for(j=0;j<M;j++) } } return 0; }
Mod: Los códigos van entre etiquetas GeSHi. Temas sobre C/C++ van al subforo de C/C++
Título: Re: no se que esta mal
Publicado por: engel lex en 1 Diciembre 2016, 06:49 am
muestra una pantalla del programa en ejecución porque tu codigo no es justamente el más facil de leer
Título: Re: no se que esta mal
Publicado por: MAFUS en 1 Diciembre 2016, 20:59 pm
Como dice engel lex tu código es demasiado complicado. Debes aprender a refactorizar tus bucles para simplificarlos y los códigos que se repiten y siempre son los mismos ponlos dentro de una función. Y cuida de las identaciones: además de funcional debe ser bonito visualmente para que se pueda seguir bien. Tu código rehecho y funcional quedaría así: #include <stdio.h> #include <stdlib.h> #include <time.h> #define FILAS 5 #define COLUMNAS 5 #define MAX_BARCOS (FILAS * COLUMNAS / 4) void mostrar_tablero(int tablero[][COLUMNAS]) { int x, y; for(y = 0; y < FILAS; ++y) { for(x = 0; x < COLUMNAS; ++x) } } int main() { int tablero[FILAS][COLUMNAS] = {0}; int i; int x, y; int num_barcos = 0; printf("se colocaran %d barcos\n", MAX_BARCOS ); puts("tablero original\n"); mostrar_tablero(tablero); for(i = 0; i < MAX_BARCOS; ++i) { if(tablero[y][x] == 0) { tablero[y][x] = 1; printf("\nse colocaron %d barcos\n", ++num_barcos ); puts("tablero con barcos\n"); mostrar_tablero(tablero); } else --i; } return 0; }
|