elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  matrices en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: matrices en c  (Leído 4,782 veces)
ALONSOQ

Desconectado Desconectado

Mensajes: 62



Ver Perfil
matrices en c
« en: 18 Junio 2012, 13:21 pm »

Buenos días

Por favor que me falla en el siguiente código? ¿ por que me escribe por pantalla los números que quiere?

muchísimas gracias

#include<stdio.h>
#include<conio.h>

main()
{
      int matriz[5];
     int valor=10;
      int i;
     
      for(i=0;i<=5;i++)
      {
      matriz= valor;
      }
     
       printf(" %d", &matriz);
       
       
     getch();
}


En línea

maxim_o

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: matrices en c
« Respuesta #1 en: 18 Junio 2012, 13:37 pm »

EN primer lugar en este caso se llama array, cuando tu lo declaras de N elementos (en este caso 5) , va desde la posicion 0 hasta N-1 (en este caso 4), es decir hay 5 posiciones, 0,1,2,3,4.
Por lo que el for debe recorrer desde i=0 hasta i<5.

En segundo lugar, cada valor tienes que añadirselo a una posicion.
matriz[0]=1;
matriz[1]=10;
etc
Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3.  
  4. main()
  5. {
  6.      int matriz[5];
  7.     int valor=10;
  8.      int i;
  9.  
  10.      for(i=0;i<5;i++)
  11.      {
  12.           matriz[i]= valor;
  13.           printf("%d ", matriz[i]);
  14.      }
  15.  
  16.       getch();
  17. }
  18.  
  19.  


« Última modificación: 18 Junio 2012, 14:22 pm por maxim_o » En línea

ALONSOQ

Desconectado Desconectado

Mensajes: 62



Ver Perfil
Re: matrices en c
« Respuesta #2 en: 18 Junio 2012, 14:00 pm »

perdona pero no te sigo; añado el código con algunas modificaciones


#include<stdio.h>
#include<conio.h>

main()
{
      int matriz[5];
     int valor=10;
      int i;
     
      for(i=0;i<5;i++)
      {
      matriz= valor;
      }
     
       printf("%d",&matriz);
       
       
     getch();
     
}

Me siguen saliendo valores sin sentido, cuando tendría que imprimir 10 10 10 10 10

seguro que es muy facil, per yo llevo muy poco tiempo usando este lenguaje y me cuasta bastante ver el error

muchas gracias
En línea

Maik33

Desconectado Desconectado

Mensajes: 128


Ver Perfil
Re: matrices en c
« Respuesta #3 en: 18 Junio 2012, 14:26 pm »

cuando haces matriz = valor, estas asignando un valor entero a un puntero.
La matriz tiene diferentes celdas de memoria, para acceder al primer "hueco" tienes que poner matriz[0]=valor, asi asignas el valor de "valor" a la primera posicion del vector:
Esto es lo que tienes:
matriz:
 ___________________________________________________________________
|___matriz[0]__|__matriz[1]___|___matriz[2]___|___matriz[3]__|__matriz[4]___|

cada rectangulo es una direccion de memoria y puedes asignar valor a cada posicion, pero no puedes hacer matriz=valor.

No se si me explico.

Luego para mostrar por pantalla los valores tendrias que ir con un for imprimiendo cada uno.
En línea

maxim_o

Desconectado Desconectado

Mensajes: 186


Ver Perfil
Re: matrices en c
« Respuesta #4 en: 18 Junio 2012, 14:27 pm »

Buenas revisa el codigo que te puse , que ahora lo he puesto con las etiquetas y sale bien...

TU fallo es tanto para añadir el valor a la posicion del array, como para imprimirlo tienes que ir posicion a posicion
Código
  1. matriz[i]= valor;
  2. printf("%d" , matriz[i]);
  3.  
  4.  
« Última modificación: 18 Junio 2012, 16:23 pm por maxim_o » En línea

ALONSOQ

Desconectado Desconectado

Mensajes: 62



Ver Perfil
Re: matrices en c
« Respuesta #5 en: 18 Junio 2012, 16:11 pm »

Muchísimas gracias a ambos, lo he entendido perfectamente

un saludo
En línea

twins

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: matrices en c
« Respuesta #6 en: 23 Junio 2012, 04:13 am »

Hola amigo lo que pasa es que lo que tienes hay no es una matriz es un vector una matriz tiene dos coordenadas (matriz[j]) y para imprimir y llenar la matriz necesitas un for anidado es decir dos for a continuacion te dejo el codigo cualquir duda me preguntas yo se bastante de c a proposito tambien estoy pidiendo ayuda con listas enlazadas jaja.
bueno aqui te dejo el codigo.

#include<stdio.h>
int main(void){
   int i,j,matriz[3][3];
   for(i=0;i<3;i++)
      for(j=0;j<3;j++)
         matriz[j]=10;//llena la matriz con 10
   
   for(i=0;i<3;i++){//imprime la matriz
      printf("\n");
      for(j=0;j<3;j++)
         printf("[%i]",matriz[j]);
   }   
   getchar();
return(0);//el compilador le dice al sistema operativo que se acabo la ejecucion del programa.   
}   
   
En línea

noele1995

Desconectado Desconectado

Mensajes: 137



Ver Perfil
Re: matrices en c
« Respuesta #7 en: 23 Junio 2012, 12:58 pm »

Hola twins, en efecto eso es lo que es una matriz pero en el ejemplo que has dado la estas usando mal, ya que las estas declarando con 2 DIMENSIONES y solo estas pasandole el puntero al que tiene que ire de una de las dimensiones tanto en el momento de llenarla como en el de imprimirla. Dejo tu codigo modificado en c++.

Código
  1. #include<iostream>
  2.  
  3. int main(void){
  4.   int i,j, matriz[3][3];
  5.  
  6.   using std::cout;
  7.   using std::cin;
  8.  
  9.   for(i=0;i<3;i++)
  10.      for(j=0;j<3;j++)
  11.         matriz[i][j]=10;//llena la matriz con 10
  12.  
  13.   for(i=0;i<3;i++){//imprime la matriz
  14.      for(j=0;j<3;j++)
  15. cout << "Imprimiendo la matriz[" << i << "][" << j << "] ------> " << matriz[i][j] << "\n";
  16.   }  
  17.   getchar();
  18. return(0);//el compilador le dice al sistema operativo que se acabo la ejecucion del programa.  
  19. }

Saludos, Noele1995
En línea

twins

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: matrices en c
« Respuesta #8 en: 24 Junio 2012, 02:47 am »

A! pues eso debe ser en c++ porque en c no habria problemas y este ejemplo no use punteros esta normal, saludos.
En línea

twins

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: matrices en c
« Respuesta #9 en: 27 Junio 2012, 05:15 am »

aaaa!!! jajaja se me quedo afuera la posicion de la jaja q cosas no!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
matrices en C#
Programación General
volterra 4 10,183 Último mensaje 18 Mayo 2010, 06:26 am
por Og.
matrices
Programación C/C++
aral90 2 2,241 Último mensaje 9 Diciembre 2011, 20:13 pm
por aral90
matrices
.NET (C#, VB.NET, ASP)
legomanticore 4 3,562 Último mensaje 14 Mayo 2012, 03:02 am
por $Edu$
Matrices en C/C++ Urgente!!! « 1 2 »
Programación C/C++
jfap45 10 5,838 Último mensaje 18 Julio 2012, 20:01 pm
por jfap45
matrices
Programación C/C++
lorderick 3 3,066 Último mensaje 8 Septiembre 2012, 05:12 am
por CSQCasimiro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines