Comunidad de diseño web y desarrollo en internet online

Problema con Punteros como Matrices en C

Citar            
MensajeEscrito el 29 Oct 2006 07:54 am
Hola!, lo que pasa es que tengo un problema con un programa en C con Matrices de Punteros.
El problema es el siguiente: Cuando almaceno datos de tipo char para guardarlos en el puntero Matriz se salta siempre una posición y no me deja ingresar el valor de esa posición que se "salto", pero si cambio el tipo de valor a int no se lo salta :crap: el código fuente es el siguiente:

Código :

#include  <stdio.h>
#include <stdlib.h>
int i, j, N;
char **Matriz;
int main(void){
  puts("Dame el valor de N:\t "); scanf("%d",&N);
  Matriz = ((char **) malloc (N*sizeof(char*)));
  if (Matriz != NULL) {
     for (i=0; i<N; i++)
      *(Matriz+i) = ((char *)malloc(N*sizeof(char)));
  }else{
      puts("ERROR: Memoria Insuficiente!");
      exit(-1);
  }
  
  for(i=0; i<N; i++){
           for(j=0; j<N; j++){
                         printf("[%d][%d] : ", i+1, j+1);
                         scanf("%c", &Matriz[i][j]);
           }
  }

  for(i=0; i<N; i++){
           for(j=0; j<N; j++){
               printf("[%d][%d] : %c\n", i+1, j+1,  Matriz[i][j]);
           }
  }
  
  system("pause");
  return 0;    
}


Ojala me haya podido explicar y me puedan ayudar, un saludo :) .

Por Rog3R

157 de clabLevel


1 articulo

 

firefox
Citar            
MensajeEscrito el 29 Oct 2006 08:12 pm
Bien ya halle una solución, la dejo por si le sirve alguien
solo es cuestión de cambiar el scanf por la instrucción cin. Ejemplo:

Código :

cin >> *(Matriz+i)+j;

claro que para usar esta función necesitamos la librería:

Código :

#include <iostream.h>

y guardarlo como:

Código :

 [nombre_del_archivo].cpp

Por Rog3R

157 de clabLevel


1 articulo

 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.