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?#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];
}
Saludos