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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Array bidimensional y uni. ¿Por qué el arreglo d[i] no se imprime en pantalla???
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Array bidimensional y uni. ¿Por qué el arreglo d[i] no se imprime en pantalla???  (Leído 1,675 veces)
mikem

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Array bidimensional y uni. ¿Por qué el arreglo d[i] no se imprime en pantalla???
« en: 18 Octubre 2014, 20:17 pm »

Código:
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <stdio.h>
using namespace std;
const int TAM=10;

//Prototipos de funciones:

void Leer(int a [TAM][TAM],int n);
void Imprimir (int a[TAM][TAM], int n);

void Diag (int a [TAM][TAM], int n, int d[TAM]);
void Printdiag (int d[TAM], int n);

int main ()
{
int n;
int i,j;
int a[TAM][TAM];
int d[TAM];

do
{

cout<<"Ingrese tam. de la matriz, por favor: \n";
cin >>n;

}
while (n<1 || n>TAM);
if (n<1 || n>TAM)
{
cout<<"Invalido. \n";
}
//Llamada de funciones:
Leer (a,n);
Imprimir (a,n);
system ("PAUSE");
system ("cls");
Diag (a,n,d);
Printdiag (d,n);
}
void Leer (int a [TAM][TAM], int n)
{
cout<<"Ingrese datos a la matriz: \n \n";
int i,j;
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
cin >>a[i][j];
}
}
void Imprimir (int a [TAM][TAM], int n)
{
cout<<"La matriz ingresada es: \n";
for(int i=0; i<n; i++)
for (int j=0; j<n; j++)
cout <<setw(3)<<a[i][j]<<"\n\n";
}
void Diag (int a[TAM][TAM], int n, int d[TAM])
{
cout<<"Te voy a dar la diagonal principal: \n\n";
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
d[i]==a[i][j];
}

void Printdiag (int d[TAM], int n)
{
//AQUÍ ESTÁ EL PROBLEMA:
//¿por qué no imprime el vector d como corresponde?
//Sale en pantalla todos números raros...
for (int i=0; i<n; i++)
cout<<d[i];
}
¿Qué cosa debería modificar?
Saludos :D


« Última modificación: 18 Octubre 2014, 20:22 pm por mikem » En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Array bidimensional y uni. ¿Por qué el arreglo d[i] no se imprime en pantalla???
« Respuesta #1 en: 18 Octubre 2014, 21:29 pm »

Hola, creo que el problema está en que en el for cuando calculas la diagonal estás usando un operador de igualdad en lugar del de asignación, concretamente aquí:
Código
  1. void Diag (int a[TAM][TAM], int n, int d[TAM])
  2. {
  3.    cout<<"Te voy a dar la diagonal principal: \n\n";
  4.    for (int i=0; i<n; i++)
  5.        for (int j=0; j<n; j++)
  6.            d[i]==a[i][j]; //<-- Aquí
  7. }
En efecto, ese es el fallo. Una cosa, cuando publiques código hazlo entre las etiquetas GeSHi para que te salga coloreado, y otra cosa la biblioteca stdio.h no es de C++ es de C, si quieres usar esas funciones tienes que incluir cstdio y no la que has puesto.

Un saludo.


« Última modificación: 18 Octubre 2014, 21:33 pm por avesudra » En línea

Regístrate en
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Array bidimensional y uni. ¿Por qué el arreglo d[i] no se imprime en pantalla???
« Respuesta #2 en: 19 Octubre 2014, 03:54 am »

¿Qué cosa debería modificar?
Ademas (y respondiendo a tu otro tema sobre el mismo programa, deberías haber respondido en este) para obtener la diagonal principal solo necesitas de un bucle, la funcion "Diag" hay que cambiarla a:
Código
  1. void Diag(int a[TAM][TAM], int n, int d[TAM])
  2. {
  3.   cout << "Te voy a dar la diagonal principal:" << endl;
  4.  
  5.   for (int i = 0; i < n; i++)
  6.      d[i] = a[i][i];
  7. }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con arreglo bidimensional no imprime
Programación C/C++
MartyMcfly 4 4,667 Último mensaje 25 Agosto 2010, 15:00 pm
por Mr.Blue
Duda con arreglo bidimensional dinámico en IDE DevC++
Programación C/C++
finger10 3 7,735 Último mensaje 2 Septiembre 2011, 17:01 pm
por finger10
Apuntador a arreglo bidimensional en c
Programación C/C++
UltimateDragoon 2 4,838 Último mensaje 3 Octubre 2011, 23:05 pm
por UltimateDragoon
Arreglo bidimensional
Programación C/C++
luiisyolmaan 2 2,796 Último mensaje 4 Octubre 2012, 14:31 pm
por leosansan
ordenar arreglo bidimensional
Programación C/C++
jona1107 1 4,793 Último mensaje 18 Noviembre 2012, 17:37 pm
por durasno
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines