Var begin readln(n); if n=1 then begin writeln('1 месяц');writeln('кол-во дней');end; if n=2 then begin writeln('2 месяц');writeln('кол-во дней');end; if n=3 then begin writeln('3 месяц');writeln('кол-во дней');end; if n=4 then begin writeln('4 месяц');writeln('кол-во дней');end; if n=5 then begin writeln('5 месяц');writeln('кол-во дней');end; if n=6 then begin writeln('6 месяц');writeln('кол-во дней');end; if n=7 then begin writeln('7 месяц');writeln('кол-во дней');end; if n=8 then begin writeln('8 месяц');writeln('кол-во дней');end; И так до 12 раз... Я не уверен что тебе нужен такой монстр... В место к примеру 1 месяца пишешь январь...
Ошибок тут больше одной. Во-первых, в операторе вывода стоит вызов функции ups, которой в качестве второго аргумента передается неизвестная переменная a. Если имелся в виду символ "а", его надо было заключить в одинарные кавычки. Во-вторых, в теле функции ups определяется значение n в цикле. Даже, если искомый символ найден и n получит значение позиции этого символа в слове, то если слово просмотрено не полностью, следующий же проход по циклу снова сбросит n в ноль. Следовательно, эта функция будет выдавать верный результат только если искомая буква - последняя в слове.
var slovo: string; i: integer;
function ups(var s: string; ch: char): integer; var i, n: integer; begin i:=1; n:=0; while (i<=length(s)) and (n=0) do begin if s[i] = ch then n := i; i:=i+1 end; ups:=n end;
begin writeln('vvedite slovo'); readln(slovo); writeln('N = ', ups(slovo, 'a')); end.
Замечание: в языке Паскаль имеется функция Pos, производящая поиск подстроки в строке...
begin
readln(n);
if n=1 then begin writeln('1 месяц');writeln('кол-во дней');end;
if n=2 then begin writeln('2 месяц');writeln('кол-во дней');end;
if n=3 then begin writeln('3 месяц');writeln('кол-во дней');end;
if n=4 then begin writeln('4 месяц');writeln('кол-во дней');end;
if n=5 then begin writeln('5 месяц');writeln('кол-во дней');end;
if n=6 then begin writeln('6 месяц');writeln('кол-во дней');end;
if n=7 then begin writeln('7 месяц');writeln('кол-во дней');end;
if n=8 then begin writeln('8 месяц');writeln('кол-во дней');end;
И так до 12 раз...
Я не уверен что тебе нужен такой монстр...
В место к примеру 1 месяца пишешь январь...
Во-первых, в операторе вывода стоит вызов функции ups, которой в качестве второго аргумента передается неизвестная переменная a. Если имелся в виду символ "а", его надо было заключить в одинарные кавычки.
Во-вторых, в теле функции ups определяется значение n в цикле. Даже, если искомый символ найден и n получит значение позиции этого символа в слове, то если слово просмотрено не полностью, следующий же проход по циклу снова сбросит n в ноль. Следовательно, эта функция будет выдавать верный результат только если искомая буква - последняя в слове.
var
slovo: string;
i: integer;
function ups(var s: string; ch: char): integer;
var
i, n: integer;
begin
i:=1;
n:=0;
while (i<=length(s)) and (n=0) do
begin
if s[i] = ch then n := i;
i:=i+1
end;
ups:=n
end;
begin
writeln('vvedite slovo');
readln(slovo); writeln('N = ', ups(slovo, 'a'));
end.
Замечание: в языке Паскаль имеется функция Pos, производящая поиск подстроки в строке...