Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Guardar coordenadas de una matriz en dos arreglos uno para x y otro para y.

¡Resuelto!
Ir a solución

Buenas tardes, estoy trabajando en un proyecto, en el cual requiero grabar las coordenadas de una matriz en dos arreglos uno para el x y otro para el y. Por ejemplo si, si tenemos la matriz 

int matriz[3][4] = { 12,23,65,55,
                             32,53,12,12,
                             54,23,844,12 };

Si, por ejemplo quiero buscar el numero 12 en la matriz y que me guarde las coordenadas en un arreglo para x y y, de tal forma que los arreglos quedarian a si.

cordx[]={0,1,1,2}

cordy[]={0,2,3,3}

 

El codigo ya lo tengo resuelto en C++, pero no se como implementarlo en labview. Les anexo el codigo que hice en c++.

#include "stdafx.h"
#include <iostream>
#include<conio.h>

using namespace std;

		 //f//c
int cordx[100];
int cordy[100];
int matriz[3][4] = { 12,23,65,55,
		     32,53,12,12,
		     54,23,844,12 };
int auxiliar = 0;
int main()
{

	for (int i = 0; i < 3; i++) // I=1		
	{
		for(int j=0; j<4; j++)//J=0,1,2,3
		{
			if (matriz[i][j] == 12)
			{
				
				cordx[auxiliar] = i;//0 1 1
				cordy[auxiliar] = j;
				auxiliar++;

				
			}
			
		}
	

		
	}
	for (int i = 0; i < auxiliar; i++)
	{
		cout << cordx[i];
	}
	for (int i = 0; i < auxiliar; i++)
	{
		cout << cordy[i];
	}

	
	getch();
    return 0;
}

Gracias y espero su respuesta.

0 kudos
Mensaje 1 de 5
4.606 Vistas
Solución
Aceptado por el autor del tema Gabriel1010

Tal vez utilizando las funciones de array y los túneles indexados podría ser una forma de hacerlo.concatenar variables.png

concatenar variables 2.png



Ing. Jonathan E. Cruz Ortiz

ENERGÍA PROACTIVA S.A.S

Cel : (+57) 3173669343 - (+57) 3124451894

0 kudos
Mensaje 2 de 5
4.566 Vistas

wow, eres un genio, muchas gracias, me ha servido mucho, actualmente estoy trabajando con un XY plotter, por ende debo de guardar las coordenadas de de una matriz de una imagen vectorizada, de modo que estaba atorado en esta parte.

0 kudos
Mensaje 3 de 5
4.561 Vistas

Buenas noches, soy relativamente nuevo en el uso del software y analizando un poco tu solución y tratando de replicarla me encuentro con que al unir los dos "i" de los ciclos for y esa salida ingresarla a la nueva matriz de tu sección dos, el software me indica que el tamaño de las filas no es igual a la señal tomada del shift register, por tal motivo no puedo seguir con los siguientes pasos. Me gustaría saber si talvez pudieras indicarme el motivo de que pase esto en caso de que lo sepas.

recor.JPG

0 kudos
Mensaje 4 de 5
3.334 Vistas

Hola,

 

La diferencia de tu ejemplo con el de Jokelnice es que el esta utilizando una concatenación de las entradas en la función que tienes marcada, por lo que el resultado es una matriz 2D. En tu case, no estas concatenando sino que estas agregando una nueva dimensión a la matriz, por lo que el resultado es una matriz 3D.

Si haces click-derecho sobre la función "Build Array", tienes la opción "Concatenate inputs" que tienes que marcar. Si metes matrices con dimensiones incompatibles, esta opción aparece deshabilitada.

0 kudos
Mensaje 5 de 5
3.324 Vistas