PascalABC.NET 3.6.2
#1 //Здесь под словом понимается последовательность непробельных символов, ограниченных пробелами или концом строки. Пунктуация программой игнорируется и удаляется из входного текста для дальнейшей работы.
begin
var Exp := ReadString();
Exp := Exp.RegexReplace('`[!"#%&()*,-./:;[email protected]_{}¡\\\[\]«·»¿;·$1234567890]', '').RegexReplace('\s+', ' '); //Рега пропускает " ' ".
Exp.Split(' ').Where(p -> p.First = p.Last).Count.Println;
end.
#2
var A := ArrRandom(ReadInteger(), -99, 99);
a.Println;
var zero_ind := A.IndexOf(0);
if zero_ind <> -1 then Print($'Fisrt "0" number is {zero_ind+1}') else Print('No "0" Finded in Current Array');
Объяснение:
15 минут работы. Я тоже больше по питону)
Відповідь:
1)
program Pascal01;
const
minCountWords = 14;
var
s: string;
words: array[1..200] of string[100];
indexWords: Integer;
countWords: Integer;
countCorrectWords: Integer;
countWords := 0
indexWords := 0;
repeat
indexWords := indexWords + 1;
read(words[indexWords]);
until length(words[indexWords]) > 0;
if (indexWords < minCountWords) then
Write('Введено меньше 14 слов')
Halt(1);
end
else
countWords := indexWords;
countCorrectWords := 0;
for indexWords := 1 to countWords do
if (words[indexWords][1] = words[indexWords] [length(words[indexWords])]) then
inc(countCorrectWords);
end;
Writeln('countCorrectWords= ', countCorrectWords);
2)
program Pascal02;
maxn = 100;
massiv: array[1..maxn] of integer;
index: Integer;
indexFirst0: Integer;
n: integer;
Write ('Введите n=? ');
Readln(n);
for index := 1 to n do
Write ('Введите massiv[' + index + ']=? ');
Readln(massiv[index]);
indexFirst0 := -1;
index := 1;
while ((index < n+1) and (indexFirst0 = -1)) do
if massiv[index]=0 then indexFirst0 = index;
inc(index);
if (indexFirst0 = -1) then
Writeln('В массиве нет элемента =0')
Writeln('Индекс элемента =0 =', indexFirst0)
Пояснення:
а) будем вводить отдельно каждое слово. пустое слово (просто ентер) - конец ввода.
б) слова разместим сразу в массиве words[]
вводим n
вводим n элементов массива
просматриваем массив, если нашли 0 - цикл прекращается. если массив закончился, а нуля нет то indexFirst0 = -1.
анализируем indexFirst0, если -1 - то нет, если не -1 - выводим индекс нуля.
PascalABC.NET 3.6.2
#1 //Здесь под словом понимается последовательность непробельных символов, ограниченных пробелами или концом строки. Пунктуация программой игнорируется и удаляется из входного текста для дальнейшей работы.
begin
var Exp := ReadString();
Exp := Exp.RegexReplace('`[!"#%&()*,-./:;[email protected]_{}¡\\\[\]«·»¿;·$1234567890]', '').RegexReplace('\s+', ' '); //Рега пропускает " ' ".
Exp.Split(' ').Where(p -> p.First = p.Last).Count.Println;
end.
#2
begin
var A := ArrRandom(ReadInteger(), -99, 99);
a.Println;
var zero_ind := A.IndexOf(0);
if zero_ind <> -1 then Print($'Fisrt "0" number is {zero_ind+1}') else Print('No "0" Finded in Current Array');
end.
Объяснение:
15 минут работы. Я тоже больше по питону)
Відповідь:
1)
program Pascal01;
const
minCountWords = 14;
var
s: string;
words: array[1..200] of string[100];
indexWords: Integer;
countWords: Integer;
countCorrectWords: Integer;
begin
countWords := 0
indexWords := 0;
repeat
indexWords := indexWords + 1;
read(words[indexWords]);
until length(words[indexWords]) > 0;
if (indexWords < minCountWords) then
begin
Write('Введено меньше 14 слов')
Halt(1);
end
else
countWords := indexWords;
countCorrectWords := 0;
for indexWords := 1 to countWords do
begin
if (words[indexWords][1] = words[indexWords] [length(words[indexWords])]) then
inc(countCorrectWords);
end;
Writeln('countCorrectWords= ', countCorrectWords);
end.
2)
program Pascal02;
const
maxn = 100;
var
massiv: array[1..maxn] of integer;
index: Integer;
indexFirst0: Integer;
n: integer;
begin
Write ('Введите n=? ');
Readln(n);
for index := 1 to n do
begin
Write ('Введите massiv[' + index + ']=? ');
Readln(massiv[index]);
end;
indexFirst0 := -1;
index := 1;
while ((index < n+1) and (indexFirst0 = -1)) do
begin
if massiv[index]=0 then indexFirst0 = index;
inc(index);
end;
if (indexFirst0 = -1) then
Writeln('В массиве нет элемента =0')
else
Writeln('Индекс элемента =0 =', indexFirst0)
end.
Пояснення:
1)
а) будем вводить отдельно каждое слово. пустое слово (просто ентер) - конец ввода.
б) слова разместим сразу в массиве words[]
2)
вводим n
вводим n элементов массива
просматриваем массив, если нашли 0 - цикл прекращается. если массив закончился, а нуля нет то indexFirst0 = -1.
анализируем indexFirst0, если -1 - то нет, если не -1 - выводим индекс нуля.