Нужно решить задачу, понимаю как, но сам на паскале особо не работаю, поэтому не знаю, как это записать на нём.
Напишите Программу, которая печатает показанный ниже треугольник 10 на 10. Все звёздочки (*) должны печататься единственным оператором write('*'). Т.е. не должно быть операторов вида write ('*********')
Могу ошибаться, но я бы создал цикл for, в котором печатался символ n раз и каждый раз n уменьшалось бы на 1, а после того, как символ печатается n раз, реализовать перевод строки.
Один человек уже предлагал решение, за что я ему очень благодарен, но во-первых там треугольник был перевёрнутый, а во-вторых там нужно выравнивание по центру. Вот его решение:
program triangle;
var
i,g:integer;
begin
for i:=1 to 10 do begin
for g:=1 to i do write('*');
writeln
end
end.
Спасибо!

Паскаль го#но, забей болт, скажи училке "мимо, мимо"
С таким подходом у вас не получится, т.к. нельзя вывести строку со смещением в половину знакоместа. Могу предложить следующий вариант: во-первых, выводите на "звездочку", а "звездочку+пробел" и, во-вторых, до вывода звездочек выводите нужное число пробелов (в первой строке ноль, во второй один и т.д.). Примерно вот так:
var
i,j,g:integer;
begin
for i:=1 to 10 do begin
for j:=0 to i-1 do Write(' ');
for g:=i to 10 do write('* ');
writeln;
end;
end.
И да, не слушай Elliot
С таким подходом у вас не получится, т.к. нельзя вывести строку со смещением в половину знакоместа. Могу предложить следующий вариант: во-первых, выводите на "звездочку", а "звездочку+пробел" и, во-вторых, до вывода звездочек выводите нужное число пробелов (в первой строке ноль, во второй один и т.д.). Примерно вот так:
var
i,j,g:integer;
begin
for i:=1 to 10 do begin
for j:=0 to i-1 do Write(' ');
for g:=i to 10 do write('* ');
writeln;
end;
end.
И да, не слушай Elliot
С таким подходом у вас не получится, т.к. нельзя вывести строку со смещением в половину знакоместа. Могу предложить следующий вариант: во-первых, выводите на "звездочку", а "звездочку+пробел" и, во-вторых, до вывода звездочек выводите нужное число пробелов (в первой строке ноль, во второй один и т.д.). Примерно вот так:
var
i,j,g:integer;
begin
for i:=1 to 10 do begin
for j:=0 to i-1 do Write(' ');
for g:=i to 10 do write('* ');
writeln;
end;
end.
И да, не слушай Elliot
С таким подходом у вас не получится, т.к. нельзя вывести строку со смещением в половину знакоместа. Могу предложить следующий вариант: во-первых, выводите на "звездочку", а "звездочку+пробел" и, во-вторых, до вывода звездочек выводите нужное число пробелов (в первой строке ноль, во второй один и т.д.). Примерно вот так:
var
i,j,g:integer;
begin
for i:=1 to 10 do begin
for j:=0 to i-1 do Write(' ');
for g:=i to 10 do write('* ');
writeln;
end;
end.
И да, не слушай Elliot
С таким подходом у вас не получится, т.к. нельзя вывести строку со смещением в половину знакоместа. Могу предложить следующий вариант: во-первых, выводите на "звездочку", а "звездочку+пробел" и, во-вторых, до вывода звездочек выводите нужное число пробелов (в первой строке ноль, во второй один и т.д.). Примерно вот так:
var
i,j,g:integer;
begin
for i:=1 to 10 do begin
for j:=0 to i-1 do Write(' ');
for g:=i to 10 do write('* ');
writeln;
end;
end.
И да, не слушай Elliot