Решение задачи №21 из главы 13.1
Primary tabs
Пользователь передает целые положительные число N и M, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" увеличивалась до M чисел, то уменьшалась до 1. Например, для M=3 и N=25 получим:
Просьба подсказать как переносить одну, потом две строки, потом три строки?
var
i,n,j,m:integer;
begin
i:=1; // начальное значение счетчика
j:=0;// начальное значение для внутреннего счетчика
writeln('Vvedite chislo ogranichitel');
readln(m);
writeln('Vvedite chislo');
readln(n);
while i<=n do
begin
m:=1;
j:=j+1; // запускаем внутренний счетчик
if(j < m) then
begin
writeln(' ');
j:=0; //обнуляем внутренний счетчик
end;
if (m = 1) then
begin
writeln(i, ' ');
i:=i+1; // изменяем значение счетчика
end
end;
readln();
end. - Log in to post comments
- 12855 reads
vedro-compota
Sun, 11/08/2020 - 16:18
Permalink
Определитесь какая переменная
_____________
матфак вгу и остальная классика =)
gani84
Sun, 11/15/2020 - 15:59
Permalink
Исправил
Но немного не то
За длину строки отвечает переменная j
var n, i, j, m,k:integer; begin writeln('vvedite chislo N:'); readln(n); writeln('vvedite chislo M:'); readln(m); k:=1; j:=0; writeln(); for i:=1 to N do begin write(i, ' '); j := j + 1; if (j>=k) AND (m>=k) then begin writeln(); j:=0; k:=k+1; end else begin if (j<=m) AND (j<=k) then begin k:=k-1; j:=j-1; end; end; end; readln(); end.vedro-compota
Sun, 11/15/2020 - 16:42
Permalink
Решите предварительно задачи
Решите предварительно задачи 14, 14 и 16 отсюда: http://fkn.ktu10.com/?q=node/7341
_____________
матфак вгу и остальная классика =)
gani84
Sun, 03/14/2021 - 14:46
Permalink
Исправил
Вывод консоли
var n,m,i,z,s:integer; f:boolean; begin writeln('Vvedite chislo N'); readln(n); writeln('Vvedite chislo M'); readln(m); z:=0; s:=1; writeln(); for i:=1 to n do begin write(i); z:=z+1; if (s = 1)then f:=false; if (s = m)then f:=true; if (z=s) and (f=false) then begin writeln(); z:=0; s:=s+1; end; if (z=s) and (f=true) then begin writeln(); z:=0; s:=s-1; end; end; readln(); end.vedro-compota
Sun, 03/14/2021 - 15:08
Permalink
if (f=true)то же самое, что:
1)
то же самое, что:
2)
то же самое что:
_____________
матфак вгу и остальная классика =)
vedro-compota
Sun, 03/14/2021 - 15:11
Permalink
добавить комментарии на все
добавить комментарии на все блоки if
_____________
матфак вгу и остальная классика =)
gani84
Sun, 03/21/2021 - 14:44
Permalink
Исправил
var n,m,i,z,s:integer; f:boolean; begin writeln('Vvedite chislo N'); readln(n); writeln('Vvedite chislo M'); readln(m); z:=0; //счетчик строк s:=1; //счетчик кол-ва строк writeln(); for i:=1 to n do begin write(i); z:=z+1;// запускаем счетчик строк if (s = 1)then //счетчик строк f:=false; //флаг становиться = false if (s = m)then// f:=true; //флаг становиться = true if (z=s) and (f=false) then {если совпадают строка и ограничитель и флаг false} begin writeln();// делаем перенос строки z:=0;//и обнуляем строку s:=s+1;//но увеличиваем кол-во строк end; if (z=s) and (f=true) then {если совпадают строка и ограничитель и флаг true} begin writeln();// делаем перенос строки z:=0;//и обнуляем строку s:=s-1;//но уменьшаем кол-во строк end; end; readln(); end.vedro-compota
Sun, 03/21/2021 - 15:12
Permalink
z:=0; //счетчик строк
1)
- уточнить
2)
-убрать дублирование if (z=s) (объединить блоки).
3)
- использовать else.
_____________
матфак вгу и остальная классика =)
gani84
Thu, 04/08/2021 - 19:54
Permalink
Исправил
var n,m,i,z,s:integer; f:boolean; begin writeln('Vvedite chislo N'); readln(n); writeln('Vvedite chislo M'); readln(m); z:=0; //счетчик кол-ва символов s:=1; //счетчик строк writeln(); for i:=1 to n do begin write(i); z:=z+1;//счетчик кол-ва символов if (s <> m)then //если счетчик строк равен m f:=false //флаг выключается else f:=true; //флаг включается if (z=s) and (f=false) then {если совпадают строка и ограничитель } begin writeln();// делаем перенос строки z:=0;//счетчик строки s:=s+1;//но увеличиваем кол-во строк end; if (z=s) and (f=true) then {если совпадают строка и ограничитель } begin writeln();// делаем перенос строки z:=0;////счетчик строки s:=s-1;//но уменьшаем кол-во строк end; end; readln(); end.vedro-compota
Thu, 04/08/2021 - 20:14
Permalink
сейчас работает так:
сейчас работает так:
И ещё проблема:
_____________
матфак вгу и остальная классика =)
vedro-compota
Thu, 04/08/2021 - 20:33
Permalink
Дополнительно решите 9ю
Дополнительно решите:
_____________
матфак вгу и остальная классика =)
gani84
Sun, 04/18/2021 - 13:38
Permalink
Исправил
var n,m,i,z,s:integer; f:boolean; begin writeln('Vvedite chislo N'); readln(n); writeln('Vvedite chislo M'); readln(m); z:=0; //счетчик s:=1; //счетчик кол-ва символов writeln(); for i:=1 to n do begin write(i,' '); z:=z+1;//счетчик кол-ва строк if (s = 1) then //если кол-во символов равно 1 f:=false //флаг выключается else if (s = m) then f:=true; //флаг включается if (z=s) then begin writeln();// делаем перенос строки z:=0; if (f=true) then //условие для флага включенного s:=s-1 else s:=s+1 //условие для флага выключенного end; end; readln(); end.vedro-compota
Sun, 04/18/2021 - 14:26
Permalink
уже лучше, но осталась одна
уже лучше, но осталась одна проблема в записи:
Для понимания решите:
_____________
матфак вгу и остальная классика =)
vedro-compota
Sat, 05/22/2021 - 16:51
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)
gani84
Wed, 05/26/2021 - 06:26
Permalink
Исправил
var n,m,i,z,s:integer; f:boolean; begin writeln('Vvedite chislo N'); readln(n); writeln('Vvedite chislo M'); readln(m); z:=0; //счетчик s:=1; //счетчик кол-ва символов writeln(); for i:=1 to n do begin write(i,' '); z:=z+1;//счетчик кол-ва строк if (s = 1) then //если кол-во символов равно 1 f:=false //флаг выключается else if (s = m) then f:=true; //флаг включается if (z=s) then begin writeln();// делаем перенос строки z:=0; if (f) then //условие для флага включенного s:=s-1 else s:=s+1 //условие для флага выключенного end; end; readln(); end.