Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ Циклические вычислительные процессы

Автор: basik 22.11.2010, 17:45

Подскажите как закончить задачу, а то получается конечный ответ а не как в примере. Условие задачи:
Ввести целое n , если n > 0, то вывести число en в каждой строке числа
от 1 до n , слева от числа вывести знак “#” столько раз, чему равен
остаток от деления целой части числа на 10. Например, для n = 5 :
## 2,718
####### 7,389
20,085
#### 54,598
######## 148,413

Моя задача: program vlad;
var
n,i,g,k:integer;
f:real;
begin
cls;
writeln('Введи n');
readln(n);
if n>0 then
begin
for i:=1 to n do
begin
f:=exp(i);
k:=trunc(f) mod 10;
for g:=1 to k do
if k<>0 then
write('#');
end;
write(f:8:3);
writeln;
end;
end.

Допустим ввожу 5 получается:

##################### 148.413


Заранее спасибо

Автор: Vahappaday 23.11.2010, 20:15

эх... нету у меня компилятора паскаля
но должно быть как-то так

Код

program vlad;
var
    n,i,g,k:integer;
    f:real;
begin
    cls;
    writeln('Введи n');
    readln(n);
    if n>0 then
    begin
        for i:=1 to n do
        begin
            f:=exp(i);
            k:=trunc(f) mod 10;
            for g:=1 to k do if k<>0 write('#');
                write(f:8:3);
                writeln;
        end;
    end;
end.


Ну, будь моя воля, я бы ещё пару if'ов убрал, но поскольку паскаль не знаю вообще, то рисковать не буду.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)