| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
ups!!
Registrado: 02 Sep 2007 Mensajes: 12
| Publicado: 25/10/2007 12:29 pm | | | Título: puntero |
| tengo que hacer un programa que imprima cada uno de los elementos de un arreglo de dos dimensiones, uilisando un puntero para acceder a los mismos, en lugar de utilizar subindices.
#include <stdio.h>
int main(){
int dos_vector[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int *dos_ptr; int (*ptr2vector)[4]; int fila,col;
system("pause");
me podrian ayudar por favor!!!!!! |
| | Volver arriba | |  | digies
Registrado: 18 Nov 2005 Mensajes: 240 Ubicación: Cono Sur
| Publicado: 26/10/2007 2:42 pm | | | Título: |
| Una forma (no optimizada) sería esto:
| Código: | #include <stdio.h> #include <stdlib.h>
int main(void) { int a[3][4]= {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; int *p, i=0; p=&a[0][0]; while(i<4) { printf("%d ", *p); p++; i++; } putchar('\n'); i=0; p=&a[1][0]; while(i<4) { printf("%d ", *p); p++; i++; } putchar('\n'); i=0; p=&a[2][0]; while(i<4) { printf("%d ", *p); p++; i++; } putchar('\n'); system("PAUSE"); return EXIT_SUCCESS; }
|
Un saludo |
| | Volver arriba | |  | digies
Registrado: 18 Nov 2005 Mensajes: 240 Ubicación: Cono Sur
| Publicado: 26/10/2007 7:05 pm | | | Título: |
| Versión con un procedimiento:
| Código: | #include <stdio.h> #include <stdlib.h>
void imprimir(const int b[3][4], unsigned char j);
int main(void) { const int a[3][4]= {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; unsigned char i; for(i=0; i<3; i++) imprimir(a, i); puts("\n\n"); system("PAUSE"); return EXIT_SUCCESS; }
void imprimir(const int b[3][4], unsigned char j) { unsigned char i=0; const int *p=NULL; switch (j) { case 0: p=&b[0][0]; break; case 1: p=&b[1][0]; break; default: p=&b[2][0]; break; } while(i<4) { printf("%d ", *p); p++; i++; } putchar('\n'); return; }
|
Un saludo |
| | Volver arriba | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|