SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: JESUS ANDRES en Jueves 5 de Mayo de 2005, 04:59
-
Hola necesito que me ayuiden con las diagonales de una mtriz en c++
-
especifica mas detalladamente qué es lo que quieres hacer para poder ayudarte
-
logicamente se trata de una matriz cuadrada. digamos que se trata de la matriz
int longitud=20;
int M[longitud][longitud];
//para imprimir los valores de la diagonal:
for (i=0;i=longitid;i++){
printf(" %d, "M);
//perdon si la sintaxis esta mal. hace tiempo que no programo en c.
//o si quieres guardar los valores
int V[longitud];
for (i=0;i=longitid;i++){
V=M;
//buscate algo de teoría de matrices. los algoritmos son faciles de implementar para obtener lo que quieras. Espero te sirva de algo... :blink:
-
:comp:
Cual diagonal la principal o secundaria..........pilas preguntas claras...sueter!
:lightsabre:
-
si es la diagonal inversa, simplemente cambia los valores del for para que sean decrementales. es decir:
for (i=longitud;i<=0;i--)
-
si lo q' qeres es guardar valores unicamente en las diagonales deves hacer\ lo sguiente si lamatris posee ;a misma cantidad de vertical y prizontal
int mat [3][3],x,y;
d nada mas de ves in troducir los valores en donde los contadores sean iguales lo mis para imprimir ;
si la matrs es inversa de evs recorrer la matris al reves siempre usando la condicion q' te dije anteriormente
Saludos
-
#include<iostream.h>
#include "stdio.h"
#include "conio.h"
void leer();
void diagonal();
void vectordiagonal();
int i,j,l,sw,tc,tf;
int MATRIZ[50][50],vector[50];
void main()
{
leer();
diagonal();
vectordiagonal();
}
void leer()
{
clrscr();
do{
cout<<"INGRESE EL NUMERO DE COLOMNAS: ";
cin>>tc;
}while(tc<1||tc>10);
do{
cout<<"INGRESE EL NUMERO DE FILAS : ";
cin>>tf;
}while(tf!=tc);
clrscr();
cout<<"POR FAVOR DIGITE LOS DATOS DE LA MATRIZ DE ORDEN "<<tc<<" x "<<tf<<endl<<endl;
for(i=0;i<tc;i++)
{
sw=5;
for(j=0;j<tf;j++)
{
textbackground(BLACK);
gotoxy(sw,i+5);
cin>>MATRIZ[j];
sw=sw+5;
}
}
}
void diagonal()
{
clrscr();
cout<<"LA DIAGONAL PRINCIPAL DE LA MATRIZ DE ORDEN "<<tc<<" x "<<tf<<" ES; ";
for(i=0;i<tc;i++)
{
sw = 5;
for(j=0;j<tf;j++)
{
gotoxy(sw,i+5);
if(i==j)
textcolor(CYAN);
else
textcolor(YELLOW);
cprintf("%d",MATRIZ[j]);
sw = sw + 5;
}
}
}
void vectordiagonal()
{
cout<<endl<<endl;
cout<<"EL VECTOR QUE CONTIENE LA DIAGONAL ES: "<<endl<<endl;
for(i=0;i<tc;i++)
{
for(j=0;j<tf;j++)
{
if(i==j)
{
vector[l]=MATRIZ[j];
cout<<" ";
cout<<vector[l];
}
}
}
getch();
}