• Sábado 21 de Diciembre de 2024, 17:21

Autor Tema:  Invertir Un Vector  (Leído 3183 veces)

JESUS ANDRES

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Invertir Un Vector
« en: Jueves 5 de Mayo de 2005, 04:59 »
0
Hola necesito que me ayuiden con las diagonales de una mtriz en c++

pitukilloloco

  • Miembro MUY activo
  • ***
  • Mensajes: 104
    • Ver Perfil
Re: Invertir Un Vector
« Respuesta #1 en: Jueves 5 de Mayo de 2005, 06:20 »
0
especifica mas detalladamente qué es lo que quieres hacer para poder ayudarte

marlon

  • Miembro MUY activo
  • ***
  • Mensajes: 153
    • Ver Perfil
Re: Invertir Un Vector
« Respuesta #2 en: Jueves 5 de Mayo de 2005, 23:18 »
0
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:
"No trates de inventar la rueda... Si algo ya esta hecho, solo tómalo, analízalo, entiéndelo, adáptalo y úsalo..."
Marlon Chacon Herrera
[/i]

ecolve

  • Miembro activo
  • **
  • Mensajes: 75
  • Nacionalidad: co
    • Ver Perfil
    • http://twitter.com/ecolve
Re: Invertir Un Vector
« Respuesta #3 en: Sábado 7 de Mayo de 2005, 07:40 »
0
:comp:

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


 :lightsabre:
"...everything that has a beginning, has an end..."

http://twitter.com/ecolve
Edwin C. <ecolve>

<<== 11101 ==>>

marlon

  • Miembro MUY activo
  • ***
  • Mensajes: 153
    • Ver Perfil
Re: Invertir Un Vector
« Respuesta #4 en: Lunes 9 de Mayo de 2005, 14:50 »
0
si es la diagonal inversa, simplemente cambia los valores del for para que sean decrementales. es decir:

for (i=longitud;i<=0;i--)
"No trates de inventar la rueda... Si algo ya esta hecho, solo tómalo, analízalo, entiéndelo, adáptalo y úsalo..."
Marlon Chacon Herrera
[/i]

alguien

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Re: Invertir Un Vector
« Respuesta #5 en: Lunes 16 de Mayo de 2005, 04:22 »
0
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

kinita

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Invertir Un Vector
« Respuesta #6 en: Jueves 19 de Mayo de 2005, 06:52 »
0
#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();
 }