You are on page 1of 9

UNIVERSIDAD DEL VALLE SISTEMAS Y TECNOLOGA INFORMTICA ESTRUCTURA DE DATOS GUIA PRCTICA 1.

INTRODUCCION A LA ESTRUCTURA DE DATOS

1. Escriba un programa que permita llenar n enteros en un arreglo unidimensional. El llenado ser interactivo preguntando la posicin en el arreglo donde se guardar. No se permite espacios vacos entre elementos. Tambin debe poder eliminar un entero en particular y mostrar en cualquier momento el contenido del arreglo.

using System; using System.Collections.Generic; sing System.Linq; using System.Text; namespace _01 { class Program { static void Main(string[] args) { int[] vec = new int[15]; int[] veca = new int[15]; int y = 0, x, a = 0,ta=0,num=0; do { Console.Clear(); System.Console.WriteLine("1 Ingresar valor"); System.Console.WriteLine("2 Retirar valor"); System.Console.WriteLine("3 Mostrar todo"); System.Console.WriteLine("4 salir"); System.Console.Write("Elija su opcion "); x = int.Parse(Console.ReadLine switch (x) { case 1: if (y < 15) { Console.WriteLine("Ingrese la posicion en la que desea ingresar"); y = int.Parse(Console.ReadLine()); Console.WriteLine("ingrese el numero"); num = int.Parse(Console.ReadLine()); if(vec[y]!=0) { int to=0; for(int h=y;h<(15-y);h++) { veca[to] = vec[h]; to++;

} int cont = 0; for(int h=0;h<15;h++) { if (h == y) vec[h] = num; if (h > y) { vec[h] = veca[cont]; cont++; } } } else { for(int h=0;h< 15;h++) { if(vec[h]==0) { vec[h] = num; h = 15; } } } } else Console.WriteLine("No se puede introducir"); break; case 2: int band = 0; int j = 0; int e = 0; Console.WriteLine("ingrese el numero que desea borrar"); e = int.Parse(Console.ReadLine()); while ((band != 1) && (j <15)) { if (vec[j] == e) { band = 1; } else j++; } for (int k = j; k < (15-j); k++) { vec[k] = vec[k + 1]; }

break; case 3: for (int m = 0; m < 15; m++) { Console.Write(" {0}", vec[m]); }

Console.ReadKey(); break;

} } while (x != 4); } } }

2. Un punto en el sistema cartesiano ser representado por sus coordenadas X y Y, realizar un programa de forma que se pueda hacer operaciones sobre ellos tales como: a) Calcular la distancia entre otro punto y b) Saber si pertenece a un crculo.

using using using using

System; System.Collections.Generic; System.Linq; System.Text;

namespace _02 { class Program { struct complex { public int real; public int comp; public int sumare; public int sumaco; public int resre; public int resco; } static void Main(string[] args) { int x = 0, i = 0, m = 0; char ops = 's'; complex[] vec = new complex[20]; do { Console.Clear(); Console.WriteLine("1 Ingrese una coordenada"); Console.WriteLine("2 Mostrar numeros"); Console.WriteLine("3 Restar numeros"); Console.WriteLine("4 Sumar numeros"); Console.WriteLine("5 salir"); x = int.Parse(Console.ReadLine()); switch (x) { case 1: do { Console.Clear(); if (i < 19) { Console.WriteLine("ingrese cordenada X"); vec[i].real = int.Parse(Console.ReadLine());

} Console.WriteLine("desea continuar ingresando s/n"); ops = char.Parse(Console.ReadLine()); } while (ops != 'n'); break; case 2: Console.Clear(); for (int j = 0; j < i; j++) { Console.WriteLine("({0},{1}) ", vec[j].real, vec[j].comp); } Console.ReadKey(); break; case 3: Console.Clear(); m = i; m++; vec[m].resre = 0; vec[m].resco = 0; for (int j = 0; j < i; j++) { vec[m].resre = vec[j].real - vec[m].resre; vec[m].resco = vec[j].comp - vec[m].resco; } Console.WriteLine("La resta es:"); Console.WriteLine("({0},{1}) ", vec[m].resre, vec[m].resco); Console.ReadKey(); break; case 4: Console.Clear(); m = i; m++; m++; vec[m].sumare = 0; vec[m].sumaco = 0; for (int j = 0; j < i; j++) { vec[m].sumare = vec[j].real + vec[m].sumare; vec[m].sumaco = vec[j].comp + vec[m].sumaco; } Console.WriteLine("La sumatoria es:"); Console.WriteLine("({0},{1}) ", vec[m].sumare, vec[m].sumaco); Console.ReadKey(); break; } } while (x != 5); } }

Console.WriteLine("ingrese coordenada Y"); vec[i].comp = int.Parse(Console.ReadLine()); i++;

3. Un conjunto de nmeros enteros es una coleccin de 0, 1, 2, o ms elementos; realizar un programa para implementar operaciones de la teora de conjuntos, tales como la a) Unin, y b) Interseccin.

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _03 { class Program { static void Main(string[] args) { int[] veca = new int[15]; int[] vecb = new int[15]; int[] vecc = new int[30]; int[] vecr = new int[30]; Random ran = new Random(); int x = 0, conta = 0, tamao = 0, contb = 0, tamaos = 0, tamaot, z, u = 0, p = 0, cant = 0; int j = 0, contt = 0; Console.Clear(); while (x != 5) { Console.Clear(); System.Console.WriteLine("1 Ingresar el tamao del vector a"); System.Console.WriteLine("2 ingresar el tamao del vector b"); System.Console.WriteLine("3 Mostrar todo"); System.Console.WriteLine("4 Union"); System.Console.WriteLine("5 Salir"); System.Console.Write("Elija su opcion "); x = int.Parse(Console.ReadLine()); switch (x) { case 1: Console.WriteLine("ingrese el tamao del veca"); tamao = int.Parse(Console.ReadLine()); conta = 0; while (conta < tamao) { veca[conta] = ran.Next(10); conta++; } break; case 2: Console.WriteLine("ingrese el tamao del vecb"); tamaos = int.Parse(Console.ReadLine()); contb = 0; while (contb < tamaos) { vecb[contb] = ran.Next(10);

contb++; break; case 3: for (j = 0; j < tamao; j++) { System.Console.Write("{0} ", veca[j]); } Console.WriteLine(); for (j = 0; j < tamaos; j++) { System.Console.Write("{0} ", vecb[j]); } string h = System.Console.ReadLine(); break; case 4: contt = 0; for (j = 0; j < tamao; j++) { vecc[contt] = veca[j]; contt++; } for (j = 0; j < tamaos; j++) { vecc[contt] = vecb[j]; contt++; } cant = 0; for (j = 0; j < contt; j++) { for (p = 0; p < contt; p++) { if (p == j) { p++; if (vecc[j] != vecc[p]) u = 1; else { p = contt; u = 0; } } else { if (vecc[j] != vecc[p]) u = 1; else { p = contt; u = 0; } } } if (u == 1) { vecr[cant] = vecc[j]; cant++;

u = 0; for (j = 0; j < cant; j++) { System.Console.Write("{0} ", vecr[j]); } u = 0; string m = System.Console.ReadLine(); break;

} } } } }

4. Crear una estructura llamada Quebrado para realizar aritmtica de nmeros quebrados. Escribir una aplicacin que permita:

a. Suma de dos nmeros quebrados.

b. Resta de dos nmeros quebrados.

c. Impresin de nmeros quebrados.

using using using using

System; System.Collections.Generic; System.Linq; System.Text;

namespace _04 { class Program { struct complex { public int numerador; public int denominador; public int sumanum; public int sumaden; public int resre; public int resco; public int suma;

public int resta; } static void Main(string[] args) { int x = 0, i = 0, m = 0; char ops = 's'; complex[] vec = new complex[20]; do { Console.Clear(); Console.WriteLine("1 Ingresar qebrados"); Console.WriteLine("2 Mostrar numeros"); Console.WriteLine("3 Restar numeros"); Console.WriteLine("4 Sumar numeros"); Console.WriteLine("5 salir"); x = int.Parse(Console.ReadLine()); switch (x) { case 1: do { Console.Clear(); { Console.WriteLine("ingrese numerador"); vec[i].numerador = int.Parse(Console.ReadLine()); Console.WriteLine("ingrese denominador"); vec[i].denominador = int.Parse(Console.ReadLine()); i++; } } while (i<2); break; case 2: Console.Clear(); for (int j = 0; j < i; j++) { Console.WriteLine("({0}/{1}) ", vec[j].numerador, vec[j].denominador); } Console.ReadKey(); break; case 3: Console.Clear(); vec[0].sumanum = 0; vec[0].sumaden = 0; if (vec[0].denominador == vec[1].denominador) { vec[0].sumaden = vec[0].denominador; } else { vec[0].sumaden = vec[0].denominador * vec[1].denominador; } vec[0].sumanum = (vec[0].sumaden / vec[0].denominador) * vec[0].numerador; vec[1].sumanum = (vec[0].sumaden / vec[1].denominador) * vec[1].numerador; vec[0].suma = vec[0].sumanum - vec[1].sumanum; Console.WriteLine("La sumatoria es:"); Console.WriteLine("({0}/{1}) ", vec[0].suma, vec[0].sumaden); Console.ReadKey(); i = 0;

break; case 4: Console.Clear(); vec[0].sumanum = 0; vec[0].sumaden = 0; if (vec[0].denominador == vec[1].denominador) { vec[0].sumaden = vec[0].denominador; } else { vec[0].sumaden = vec[0].denominador * vec[1].denominador; } vec[0].sumanum = (vec[0].sumaden / vec[0].denominador) * vec[0].numerador; vec[1].sumanum = (vec[0].sumaden / vec[1].denominador) * vec[1].numerador; vec[0].suma = vec[0].sumanum + vec[1].sumanum; Console.WriteLine("La sumatoria es:"); Console.WriteLine("({0}/{1}) ", vec[0].suma, vec[0].sumaden); Console.ReadKey(); i = 0; break; } } while (x != 5); }

} }

You might also like