Título: Problema con impresión en pantalla Publicado por: 7hongo7 en 29 Marzo 2013, 22:36 pm Hola a todos de nuevo yo aquí pidiéndoles su ayuda, bueno tengo que hacer un programa que lea una matriz de caracteres y la imprima en pantalla pero el problema es que me pide los caracteres de la matriz bien pero a la hora de imprimir en pantalla solamente me imprime la ultima linea, mi codigo es este:
#include <stdio.h> #include <stdlib.h> #define MAX 100 int main() { int n,i,j,aux; char a[MAX]; char d[MAX]; char b[MAX][MAX]; printf("Introduce\t"); scanf("%d",&n); //Pide el tamaño de la matriz for(i=0;i<n;i++){ scanf("%c",&a); //Pide los caracteres del renglón for(j=0;j<n;j++){ scanf("%c",&d[j]); //Pide los caracteres de la fila } } for(i=0;i<n;i++){ putchar(a); for(j=0;j<n;j++){ putchar(d[j]); } } printf("\n"); return 0; } Los datos de entrada son introducido por el usuario pero deben de ser en forma de matriz osea: 4 @@@@ -@-- --@@ ---- ó 3 aaa bbb fff Bueno el punto es que cuando tiene que imprimir solamente me imprime la ultima linea osea: en el primer ejemplo imprime solamente: ---- ---- ---- ---- en el segundo ejemplo imprime solamente: fff fff fff Por favor ayúdenme es de vida o muerte bueno no pero si es importante!!! Título: Re: Problema con impresión en pantalla Publicado por: durasno en 30 Marzo 2013, 00:32 am Hola! para que declaras la matriz "b" si no lo usas????
Si vas a ingresar caracteres en los arreglos "a" y "d", los for anidados no hacen falta en cambio para el ingreso en la matriz si tenes que usarlo. La forma de hacerlo seria: Código Ahora bien, ingresar caracteres trae un problema que son los "caracteres no deseados" que queda en el bufer del teclado, como el ENTER '\n'... Para limpiar el bufer tenes que agregar este bucle: Código Finalmente el codigo quedaria(incluido el bucle): Código
Espero se haya entendido algo. Saludos |