[ Foro de Pascal ]

Ejercicio Propuesto 6.9: Borrar nombres en array con "centinelas"

21-Jan-2019 00:23
Invitado (Jose Manuel)
0 Respuestas

Buenas, gracias por contestar a mi anterior duda. Sigo con ejercicios de arrays para poder manejarlos con soltura.

El ejercicio decía así:

Crea un programa que pida al usuario varios nombres, luego le pregunte tres que quiera borrar (para lo que usará "centinelas") y luego muestre todos los nombres que no se han borrado.

No se si entendí mal el concepto de "centinela", en mi ejercicio resuelto entiendo que el centinela es la posicion que pido para borrar cada una de las veces.

Les dejo el código y así me aconsejan mejor:

Program ArrayBorradoNombres;

uses crt;

var
 datos: array[1..10] of string;
 cantidad: integer;
 i: integer;
 posicionBorrar: integer;
 DatosBorrados:integer;

begin

 writeln ('Teclee el numero de nombres a insertar: ');
 readln(cantidad);

 for i := 1 to cantidad do
  begin
   writeln;
   writeln('Escriba el nombre: ');
   writeln;
   readln(datos[i]);
   writeln;
  end;

 DatosBorrados:=0;

 repeat
  writeln;
  writeln ('Introduzca la posisicion a borrar: ');
  writeln;
  readln (posicionBorrar);
  writeln;

  for i := posicionBorrar to cantidad-1 do
   begin
    datos[i] := datos[i+1];
   end;

  cantidad := cantidad-1;

  for i := 1 to cantidad do
   begin
    write(datos[i], ' ');
    writeln;
   end;

  DatosBorrados:= DatosBorrados + 1;

 until(DatosBorrados=3);

 writeln;
 writeLn('Los datos tras el borrado: ');
 writeln;
 for i := 1 to cantidad do
  write(datos[i], ' ');

 readkey;

end.




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)