SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: JESUS ANDRES en Jueves 5 de Mayo de 2005, 04:59

Título: Invertir Un Vector
Publicado 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++
Título: Re: Invertir Un Vector
Publicado por: pitukilloloco en Jueves 5 de Mayo de 2005, 06:20
especifica mas detalladamente qué es lo que quieres hacer para poder ayudarte
Título: Re: Invertir Un Vector
Publicado por: marlon en Jueves 5 de Mayo de 2005, 23:18
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:
Título: Re: Invertir Un Vector
Publicado por: ecolve en Sábado 7 de Mayo de 2005, 07:40
:comp:

Cual diagonal la principal o secundaria..........pilas preguntas claras...sueter!


 :lightsabre:
Título: Re: Invertir Un Vector
Publicado por: marlon en Lunes 9 de Mayo de 2005, 14:50
si es la diagonal inversa, simplemente cambia los valores del for para que sean decrementales. es decir:

for (i=longitud;i<=0;i--)
Título: Re: Invertir Un Vector
Publicado por: alguien en Lunes 16 de Mayo de 2005, 04:22
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
Título: Re: Invertir Un Vector
Publicado por: kinita en Jueves 19 de Mayo de 2005, 06:52
#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();
 }