You are on page 1of 4

using System;

using System.IO;

class MainClass
{
public static void Main(string[] args)
{
lista mi_lista= new lista();
string ultima_palabra, linea;
string [] aPalabras;

while (true) {
Console.Write("Ingrese una palabra: ");
linea= Console.ReadLine();
if (linea.ToUpper()=="SALIR")
break;
aPalabras= linea.Split(' ');
for (int no_entiendo=0; no_entiendo<aPalabras.Length
;no_entiendo++) {
mi_lista.Agregar( aPalabras[no_entiendo]);
}
mi_lista.Mostrar();
}
Console.WriteLine("*** Ahora vamos a borrar palabras
***");
while (true) {
Console.Write("Ingrese una palabra a eliminar: ")
;
ultima_palabra= Console.ReadLine();

if (ultima_palabra.ToUpper()=="SALIR")
break;
mi_lista.Eliminar( ultima_palabra);
mi_lista.Mostrar();
}
}
}
using System;

class lista {
elemento_de_lista[] e= new elemento_de_lista[1000];
int cuantos_elementos=0;

public void Agregar( string nueva_palabra) {


int donde_esta;

donde_esta= Buscar(nueva_palabra);
if (donde_esta == -1) { // No está
e[cuantos_elementos]= new elemento_de_lista(nueva_palabra
);
cuantos_elementos++;
} else { // Sí está
e[donde_esta].Set(nueva_palabra,e[donde_esta].GetFrecuenc
()+1);
}
}

public void Eliminar( string palabra_a_eliminar) {


int donde_esta;

donde_esta= Buscar(palabra_a_eliminar);
if (donde_esta > -1) { // Sí está
if (e[donde_esta].GetFrecuencia()>1) { // Está más
de una vez, debemos restarle 1 a la frecuencia
e[donde_esta].Set(e[donde_esta].GetPalabra(),e[donde_es
].GetFrecuencia()-1);
} else { // Debemos eliminar la palabra de la lista

for (int i=donde_esta; i<cuantos_elementos-1; i++


) {
e[i].Set(e[i+1].GetPalabra(),e[i+1].GetFrecuencia
());
}
cuantos_elementos--;
}
}
}
public int Buscar( string mi_palabra) {
int donde_esta= -1;

for( int i=0; i< cuantos_elementos; i++) {


if (e[i].GetPalabra()==mi_palabra) {
donde_esta= i;
break;
}
}

return(donde_esta);
}

public void Mostrar() {


Console.WriteLine("La lista esta como sigue: ");
for( int i=0; i< cuantos_elementos; i++) {
e[i].Mostrar();
}
}
}
using System;

class elemento_de_lista {
private string palabra;
private int frecuencia;

public elemento_de_lista( string cualquier_palabra) {


this.palabra= cualquier_palabra;
this.frecuencia= 1;
}

public void Set( string otra_palabra, int nueva_frecuencia


) {
this.palabra= otra_palabra;
this.frecuencia= nueva_frecuencia;
}

public string GetPalabra() {


return(this.palabra);
}

public int GetFrecuencia() {


return(this.frecuencia);
}

public void Mostrar() {


Console.WriteLine("- {0}: {1} veces",this.palabra,this
.frecuencia);
}
}

You might also like