1.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
char arr[100];
int num = 0;
std::cin >> arr;
for (int i = 0; arr[i] != '\0'; i++)
{
num += 1;
}
cout << "Из 100 элементов массива занято: " << num << ", свободно: " << 100 - num << endl;
return 0;
}
F должно быть равно "1", т.к. для произведения(а факториал - это произведение) нейтральное число - "1", а для суммы - "0".
while k, нельзя преобразовать тип Integer к типу boolean в Паскале, даже если и было можно, то данная запись давала нам бесконечный цикл, нужно заменить на while k <= n
--------------------------------
k:=1; f:= 1;
while k <= n do begin
f:= f*k;
k:= k+1;
end;
Ну я думаю иконка, но честно говоря вопрос странный
Var x,y,z,f:integer;
begin
write('Введите число: ');
readln(x);
while x>0 do
begin
y:=x mod 10;
z:=x div 10;
while z>0 do
begin
if (z mod 10)=y then f:=1;
z:=z div 10;
end;
x:=x div 10;
end;
if f=1 then writeln('Верно, есть одинаковые цифры')
else writeln('Нет одинаковых цифр')
<span>end.
Если использовать строковые ф-ии, то программа будет проще:
var
i,k,f:integer;
s,t:string;
begin
write('Введите число: ');
readln(s);
k:=length(s);
for i:= 1 to k do
begin
t:=copy(s,i+1,k-i+1);
if pos(s[i],t)>=1 then f:=1;
end;
if f=1 then writeln('Верно, есть одинаковые цифры')
else writeln('Нет одинаковых цифр')
end.</span>
Program P1;
var z,x,y,p,e:integer;
begin
write('Количество этажей = '); readln(x);
write('Количество квартир на лестничной площадке = ');
readln(y);
write('Номер квартиры = '); readln(z);
p:=(z-1) div (x*y)+1;
e:=((z-(p-1)*x*y)-1) div y +1;
writeln('Квартира ',z,' находится в ',p,' подъезде на ',e,' этаже');
end.
Пример:
Количество этажей = 9
Количество квартир на лестничной площадке = 4
Номер квартиры = 67
Квартира 67 находится в 2 подъезде на 8 этаже