|
Inicio
Generalidades
Ejercicios
Talleres
Proyecto

|
Talleres
- El siguiente programa utiliza un arreglo de caracteres
para validar una palabra clave de usuario. Usted debe modificar el codigo para que el usuario tenga
tres oportunidades de intentar digitar correctamente su password.
#include "iostream.h"
#include "conio.h"
#include "stdlib.h"
#define lp clrscr()
void miclave(){
char c,nom[25],passwd[]="GmV1827";
int i; lp;
cout << "Su nombre? -> "; cin.getline(nom,25);lp;
cout << "Por favor, digite su password -> ";
for(i=0; i<7; i++){
c=getch();
cout << "*";
if(c != passwd[i]){
cout << endl <<"Usuario(a) no autorizado(a)!!!...";
getch();
exit(1);
}
}
cout << endl <<"Bienvenido(a) "<< nom << "!!!"<< endl;
cout << "presione cualquier tecla..."<< endl;
getch();
}
main(){
miclave();
}
--------------------------------------------------------------
- Modificar la función/procedimiento ordenar de
los siguientes programas para controlar el
número de pasadas al arreglo. Una variable deberá indicar si
el vector ya está ordenado, para no entrar al ciclo
innecesariamente:
--------------------------------------------------------------
En Lenguaje C :
// Programa para ordenar un arreglo en forma ascendente utilizando
el metodo de intercambio directo o tipo BURBUJA.
#include "iostream.h"
#include "stdio.h"
#include "conio.h"
#define L clrscr()
#define T 10
int i; // variable global
void imprimir(int v[]){
for(i=0;i<=T-1;i++)
cout << v[i] << " ";
}
void ordenar(int v[]){
// Esta funcion ordena el arreglo ascendentemente
int p,aux;
for(p=1;p<=T-1;p++)
for(i=0;i<=T-2;i++)
if (v[i] > v[i+1])
{
aux = v[i];
v[i] = v[i+1];
v[i+1]= aux;
}
}
void main()
{
int vec[]={5,17,3,1,14,7,80,69,18,27}; // Inicializacion del
arreglo
L;
cout <<"Listado del vector original:"<< endl;
imprimir(vec); // Llama la funcion y le pasa la direccion del
arreglo
ordenar(vec);
cout << "\n\nListado del vector en orden ascendente:"<< endl;
imprimir(vec);
cout << "Presione cualquier tecla para terminar..."; getch();
}
En Lenguaje PASCAL :
program BURBUJA;
{ Programa para ordenar un arreglo en forma ascendente
utilizando el metodo de Intercambio directo o tipo
Burbuja.
}
uses crt;
const
T = 10;
type
v = array[1..T] of integer;
var
vec : vec;
i,p,aux : integer;
PROCEDURE leer_vec;
begin
writeln('Leer ',T,' numeros enteros:');
for i:= 1 to T do
readln(vec[i]);
end;
PROCEDURE imprimir_vec;
begin
for i:= 1 to T do
write(vec[i],' ');
writeln;
end;
PROCEDURE ordenar_vec;
begin
for p:=1 to T-1 do
for i:=1 to T-1 do
if (vec[i] > vec[i+1]) then
begin
aux := vec[i];
vec[i] := vec[i+1];
vec[i+1] := aux;
end;
end;
BEGIN
textbackground(BLUE); textcolor(WHITE); clrscr;
leer_vec;
clrscr;
writeln('Listado del vector original');
imprimir_vec;
ordenar_vec;
writeln('Listado del vector en orden ascendente');
imprimir_vec;
write('Presione cualquier tecla para terminar...');
readln;
END.
--------------------------------------------------------------
- En la final de un campeonato de fútbol participaron 5 equipos jugando todos contra todos. Se registraron los resultados de
los marcadores en una tabla, donde el contenido de cada celda corresponde al número de goles que el equipo del renglón (fila)
i le anotó al equipo de la columna j.
Por ejemplo, si la tabla fuera así:
| - |
1 |
3 |
2 |
1 |
| 0 |
- |
4 |
2 |
5 |
| 2 |
1 |
- |
1 |
0 |
| 0 |
3 |
0 |
- |
1 |
| 1 |
1 |
3 |
0 |
- |
ELEMENTO[1][3] = 3
ELEMENTO[3][1] = 2
Significa que el equipo 1 le ganó al equipo 3
por marcador de 3-2 (3 goles a 2).
Codificar un programa modular que permita leer estos resultados en una matriz. También se deben inicializar en un
vector los nombres de los cinco equipos (p.ej:Tolima,Cali,Junior,America,Nacional).
Sabiendo que con un empate ambos equipos ganan un punto y que si alguno gana obtiene tres puntos y el otro cero:
a) Agregue al programa las instrucciones necesarias para que
se cree un arreglo con los goles que anotó cada equipo.
b) Visualizar el nombre del equipo que más goles marcó.
c) Determinar el nombre del equipo ganador del campeonato y
mostrar cuántos puntos obtuvo.
--------------------------------------------------------------
|