using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class frmVector : Form { #region ATRIBUTOS int dimension = 0; double S, prom; #endregion ATRIBUTOS #region CONSTRUCTORES public frmVector() { InitializeComponent(); } #endregion CONSTRUCTORES #region METODOS //================================================================ public static void InicializarVector(int Dim, ref double[] Vector) { // pone en cero la matriz for (int i = 0; i < Dim; i++) Vector[i] = 0; } //=========================================================== public void ActivarGrillas() { int i, j; i = 0; if (int.TryParse(txtDim.Text, out dimension)) { dgvVector.ColumnCount = dimension; dgvVector.Visible = true; dgvVector.RowCount = 1; dgvInvertido.ColumnCount = dimension; dgvInvertido.Visible = true; dgvInvertido.RowCount = 1; for (j = dimension - 1; j >= 0; j--) { dgvVector.Columns[j].HeaderText = (j + 1).ToString(); dgvVector.Columns[j].Width = 30; dgvVector.Rows[i].Height = 30; //---poner valor por defecto dgvVector[j, i].Value = "1"; dgvInvertido.Columns[j].HeaderText = (j + 1).ToString(); dgvInvertido.Columns[j].Width = 30; dgvInvertido.Rows[i].Height = 30; dgvInvertido[j, i].Value = "1"; dgvInvertido.ReadOnly = true; } } } public void ProcesarInversion() { // aca crea vector double[] Vec = new double[dgvVector.Columns.Count]; // inicializa vector InicializarVector(dimension,ref Vec); for (int ii = 0; ii <= dimension - 1; ii++ ) { Vec [ii] = Convert.ToDouble(dgvVector[ii,0].Value); } // proc para crear vector invertido Invertir(dimension, Vec); } public void Invertir(int d, double[] VecOriginal) { double[] VecInv = new double[dgvVector.Columns.Count]; for (int i = 0; i < dimension; i++) { VecInv [dimension -i -1]= VecOriginal [i]; } MostrarInvertdo(dimension, VecInv); } public void MostrarInvertdo(int d, double[] VecInvertido) { for (int ii = 0; ii <= dimension - 1; ii++) { dgvInvertido[ii, 0].Value = VecInvertido[ii]; // dgvVector[ii, 0].Value //ve [ii] = Convert.ToDouble(dgvVector[ii, 0].Value); } } #endregion METODOS private void btnSalir_Click(object sender, EventArgs e) { this.Close(); } private void btnActivar_Click(object sender, EventArgs e) { ActivarGrillas(); } private void panel3_Paint(object sender, PaintEventArgs e) { } private void btnInvertir_Click(object sender, EventArgs e) { ProcesarInversion(); } private void frmVector_Load(object sender, EventArgs e) { } private void panel2_Paint(object sender, PaintEventArgs e) { } } }