Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/05/2009, 20:11
VictoriaM
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Referencia a objeto no establecida como instancia de un objeto.

Hola estoy haciendo un programa que dice " que permita ingresar una matriz de 12 elementos(3*4) igual cantidad de strings, estos en ningun caso deben exceder los 15 caracateres de longitud.Hecho ello el programa deberá informar con un message.box cual es el caráceter que más veces se repitio en la totalidad de la matriz.

cuando lo compilo me aparece este error "Referencia a objeto no establecida como instancia de un objeto.".No logro darme cuenta del error!!.
Este en mi programa:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ejercicio8
{
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
}

private void textBox1_TextChanged(object sender, EventArgs e)
{

}
string[,] matriz = new string[3, 4];
int fila = 0;
int columna = 0;
int contador = 0;
string[] vec= new string [12];
int[] aux = new int[12];

private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text.Length == 15)
{
string elemento = textBox1.Text;
//MessageBox.Show("columna"+columna.ToString());
// MessageBox.Show("fila"+fila.ToString());

if (fila == 2 && columna == 3)
{
button1.Enabled = false;

}


matriz[fila, columna] = elemento;

if (columna < 3)
{
columna = columna + 1;
}
else
{
fila = fila + 1;
columna = 0;
}
MessageBox.Show("elemento almacenado");
}
else
MessageBox.Show("excidio los 15 caracteres de longitud permitidos");

}

private void button2_Click(object sender, EventArgs e)
{
int indice=0;
for (fila = 0; fila < 2; fila++)
for (columna = 0; columna < 3; columna++)
{
vec[indice] = matriz[fila,columna];
indice = indice + 1;

}

for (int w = 0; w < 12; w++)
{
for (int o = 0; o < 12; o++)
{
if (vec[w] == vec[o])
{
aux[w]++;
}

}
}
int mayor = 0;
int otro = 0;
for (int w = 0; w < 12; w++)
{
if (aux[w] > mayor)
{
mayor = aux[w];
otro = w;

}

}
MessageBox.Show("el elemento que mas se repite es : " + vec[otro].ToString()); EN ESTE PARTE APARECE SOBRE EL "VEC"
Application.Exit();


}
}
}

Gracias.
Trabajo con C#