3-eck rahmen

#1
Hy!
ich erhalte morgen einen riesen rüffel,wenn ich diese aufgabe nicht habe,also vielleicht ist jemand so lieb und hilft mir...:)
dieser code produziert ein normales 3-eck mit sternchen,ich sollte jetzt aber nur den Rahmen des 3-ecks haben...

code:


procedure flaecheGleichschenkligesDreieck;
var
anzLeer:integer;
anzSterne:integer;
anzZeilen:integer;
i:integer;
j:integer;
k:integer;
l:integer;

begin
wiederholen:=true;
writeln('Programmverlassen mit -1');
while wiederholen do begin
write('Gib die Seitenlänge ein: ');
readln(anzZeilen);
anzLeer:=anzZeilen;
anzSterne:=1;
if anzZeilen=-1 then
wiederholen:=false;
for i:=1 to anzZeilen do begin
for j:=1 to anzLeer do
write(' ');
for k:=1 to anzSterne do
write(' *');
writeln;
anzSterne:=anzSterne +1;
anzLeer:=anzLeer -1;
end;
end;
end;
 
#2
Ich sitze hier gerade an einem Rechner ohne jegliches Werkzeug, aber soweit ich deinen Code:
Code:
procedure flaecheGleichschenkligesDreieck;
var
  anzLeer:integer;
  anzSterne:integer;
  anzZeilen:integer;
  i:integer;
  j:integer;
  k:integer;
  l:integer;
begin
  wiederholen:=true;
  writeln('Programmverlassen mit -1');
  while wiederholen do begin
    write('Gib die Seitenlänge ein: ');
    readln(anzZeilen);
    anzLeer:=anzZeilen;
    anzSterne:=1;
    if anzZeilen=-1 then
    wiederholen:=false;
    for i:=1 to anzZeilen do begin
      for j:=1 to anzLeer do
        write('*');
      for k:=1 to anzSterne do
        write('*');
      writeln;
      anzSterne:=anzSterne +1;
      anzLeer:=anzLeer -1;
   end;
  end;
end;
verstanden habe, müsste die neue Version so aussehen:
Code:
procedure rahmenGleichschenkligesDreieck;
var
  anzLeer:integer;
  anzSterne:integer;
  anzZeilen:integer;
  i:integer;
  j:integer;
  k:integer;
  l:integer;
  c: char; // Der Buchstabe, zum Malen der Begrenzung
begin
  wiederholen:=true;
  c := '+'; // Ränder werden mit Plussen gemalt
  writeln('Programmverlassen mit -1');
  while wiederholen do begin
    write('Gib die Seitenlänge ein: ');
    readln(anzZeilen);
    anzLeer:=anzZeilen;
    anzSterne:=1;
    if anzZeilen=-1 then
    wiederholen:=false;
    for j:=1 to anzLeer do
      write(' ');
    for k:=1 to anzSterne do
      write(c);
    writeln;
    for i:=3 to anzZeilen do begin
      for j:=1 to anzLeer do
        write(' ');
      write(c);
      for k:=3 to anzSterne do
        write(' ');
      write(c);
      writeln;
      anzSterne:=anzSterne +1;
      anzLeer:=anzLeer -1;
    end;
    for j:=1 to anzLeer do
      write(' ');
    for k:=1 to anzSterne do
      write(c);
    writeln;
  end;
end;
 
Oben