ARREGLOS UNIDIMENSIONALES Ing. Betty Suárez Torres
VECTORES Un arreglo se define como una variable que permite almacenar un conjunto de datos del mismo tipo organizados en una sola columna y uno o mas renglones.  15 10 -50 0 1 100 … N[n] 0 1 2 3 4 n-1 … NOMBRE DEL VECTOR ELEMENTO DEL VECTOR Ej: N[2] = 50 POSICION DEL VECTOR
CARACTERÍSTICAS Homogéneos  significa que todos los elementos son del mismo tipo. Ordenados  significa que hay un primer elemento, un segundo elemento, y así sucesivamente. Además cada uno de los componentes o elementos de la estructura son igualmente accesibles, y pueden seleccionarse de forma directa, indicando la posición que ocupa la componente dentro de la estructura.  Finita  significa que hay también un último elemento. Tamaño fija  significa que el tamaño del array debe ser conocido en tiempo de compilación; pero no significa que todos los elementos del array tengan significado.
VECTORES DECLARACIÓN static array<int>^ vector = gcnew array<int>(10); LLENAR DATOS vector[c]=Convert::ToInt16(txtnumero->Text); c=c+1; for (Int16 i=0;i<10;++i) { lstnumeros->Items->Add (vector[i]); } TIPO DE DATO  DEL VECTOR TAMAÑO  DEL VECTOR
VECTORES … MOSTRAR EL VECTOR for (Int32 i=0;i<c;++i) { lstnumeros->Items->Add (vector[i]); } ES COMÚN UTILIZAR PARA ARREGLOS EL CONTROL LISTBOX
OPERACIONES ELEMENTALES CON VECTORES Acceso a los elementos. Asignación. Igualdad. Lectura/escritura. Recorrido (acceso secuencial).
ACCESO A LOS ELEMENTOS Se puede acceder a cada componente de una variable de array usando su nombre seguido de un  índice  entre corchetes.  El índice de un elemento de un array es un valor natural que indica el orden del elemento dentro del array. Los  índices comienzan siempre por 0 , es decir el primer elemento de un array tiene índice 0.
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) { int sp=0,sn=0; for (Int32 i=0;i<c;++i) { if (vector[i]>0)  { listBox1->Items->Add(vector[i]); sp=sp+vector[i]; } else { if(vector[i]!=0){ listBox2->Items->Add(vector[i]); sn=sn+vector[i]; } } } textBox2->Text=Convert::ToString(sp); textBox3->Text=Convert::ToString(sn); }
ASIGNACIÓN private: System::Void button1_Click(System::Object^  sender,  System::EventArgs^  e) { vector[c]=Convert::ToInt32(textBox1->Text); c++; } Se puede asignar valor a un arreglo, asignando valores a sus componentes individuales
IGUALDAD Para que haya igualdad entre vectores es necesario: Ambos arreglos deben ser del mimo tamaño, tipo, contenido y direcciones de memoria. Una verificación de igualdad no se cumple cuando las direcciones de memoria son diferentes a pesar que sus contenidos sean los mismos. 20 -8 56 0 20 -8 56 0 0 1 2 3 0 1 2 3 A B A==B 20 -8 56 0 20 -8 56 0 1 3 4 0 1 2 3 A B A!=B 2
IGUALDAD … La única forma para poder entonces verificar la igualdad de dos arreglos es realizando una función lógica en la que mediante una estructura iterativa se comparen todos y cada uno de los elementos de ambos arreglos que tengan el mismo valor de índice.
LECTURA Y ESCRITURA private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) { for (Int32 i=0;i<c;++i) { if (vector[i]>0)  { listBox1->Items->Add(vector[i]); } else { if(vector[i]!=0){ listBox2->Items->Add(vector[i]); } } } }
RECORRIDO (ACCESO SECUENCIAL) Se puede acceder a los elementos de un vector para introducir datos (leer) en él, para visualizar su contenido (escribir), para verificar su igualdad o para realizar un tratamiento sobre sus componentes.  A la operación de efectuar una acción general sobre todos los elementos de un vector se la denomina recorrido del vector.  Estas operaciones se realizan utilizando estructuras repetitivas, cuyas variables de control (por ejemplo posición) se utilizan como índices del arreglo.

Arreglos unidimensionales

  • 1.
    ARREGLOS UNIDIMENSIONALES Ing.Betty Suárez Torres
  • 2.
    VECTORES Un arreglose define como una variable que permite almacenar un conjunto de datos del mismo tipo organizados en una sola columna y uno o mas renglones. 15 10 -50 0 1 100 … N[n] 0 1 2 3 4 n-1 … NOMBRE DEL VECTOR ELEMENTO DEL VECTOR Ej: N[2] = 50 POSICION DEL VECTOR
  • 3.
    CARACTERÍSTICAS Homogéneos significa que todos los elementos son del mismo tipo. Ordenados significa que hay un primer elemento, un segundo elemento, y así sucesivamente. Además cada uno de los componentes o elementos de la estructura son igualmente accesibles, y pueden seleccionarse de forma directa, indicando la posición que ocupa la componente dentro de la estructura. Finita significa que hay también un último elemento. Tamaño fija significa que el tamaño del array debe ser conocido en tiempo de compilación; pero no significa que todos los elementos del array tengan significado.
  • 4.
    VECTORES DECLARACIÓN staticarray<int>^ vector = gcnew array<int>(10); LLENAR DATOS vector[c]=Convert::ToInt16(txtnumero->Text); c=c+1; for (Int16 i=0;i<10;++i) { lstnumeros->Items->Add (vector[i]); } TIPO DE DATO DEL VECTOR TAMAÑO DEL VECTOR
  • 5.
    VECTORES … MOSTRAREL VECTOR for (Int32 i=0;i<c;++i) { lstnumeros->Items->Add (vector[i]); } ES COMÚN UTILIZAR PARA ARREGLOS EL CONTROL LISTBOX
  • 6.
    OPERACIONES ELEMENTALES CONVECTORES Acceso a los elementos. Asignación. Igualdad. Lectura/escritura. Recorrido (acceso secuencial).
  • 7.
    ACCESO A LOSELEMENTOS Se puede acceder a cada componente de una variable de array usando su nombre seguido de un índice entre corchetes. El índice de un elemento de un array es un valor natural que indica el orden del elemento dentro del array. Los índices comienzan siempre por 0 , es decir el primer elemento de un array tiene índice 0.
  • 8.
    private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { int sp=0,sn=0; for (Int32 i=0;i<c;++i) { if (vector[i]>0) { listBox1->Items->Add(vector[i]); sp=sp+vector[i]; } else { if(vector[i]!=0){ listBox2->Items->Add(vector[i]); sn=sn+vector[i]; } } } textBox2->Text=Convert::ToString(sp); textBox3->Text=Convert::ToString(sn); }
  • 9.
    ASIGNACIÓN private: System::Voidbutton1_Click(System::Object^ sender, System::EventArgs^ e) { vector[c]=Convert::ToInt32(textBox1->Text); c++; } Se puede asignar valor a un arreglo, asignando valores a sus componentes individuales
  • 10.
    IGUALDAD Para quehaya igualdad entre vectores es necesario: Ambos arreglos deben ser del mimo tamaño, tipo, contenido y direcciones de memoria. Una verificación de igualdad no se cumple cuando las direcciones de memoria son diferentes a pesar que sus contenidos sean los mismos. 20 -8 56 0 20 -8 56 0 0 1 2 3 0 1 2 3 A B A==B 20 -8 56 0 20 -8 56 0 1 3 4 0 1 2 3 A B A!=B 2
  • 11.
    IGUALDAD … Laúnica forma para poder entonces verificar la igualdad de dos arreglos es realizando una función lógica en la que mediante una estructura iterativa se comparen todos y cada uno de los elementos de ambos arreglos que tengan el mismo valor de índice.
  • 12.
    LECTURA Y ESCRITURAprivate: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { for (Int32 i=0;i<c;++i) { if (vector[i]>0) { listBox1->Items->Add(vector[i]); } else { if(vector[i]!=0){ listBox2->Items->Add(vector[i]); } } } }
  • 13.
    RECORRIDO (ACCESO SECUENCIAL)Se puede acceder a los elementos de un vector para introducir datos (leer) en él, para visualizar su contenido (escribir), para verificar su igualdad o para realizar un tratamiento sobre sus componentes. A la operación de efectuar una acción general sobre todos los elementos de un vector se la denomina recorrido del vector. Estas operaciones se realizan utilizando estructuras repetitivas, cuyas variables de control (por ejemplo posición) se utilizan como índices del arreglo.