Программа вылетает т.к. много значений перебирает, если не хочется подобного просто смените ограничение.
var i,a,b,c,d:integer;
begin
for i:=1000 to 9999 do begin
a:=i mod 10;
b:=(i div 10) mod 10;
c:=(i div 100) mod 10;
d:=(i div 1000) mod 10;
if (a=b) and (b=c) and (c=d) then writeln ('odinakovie cifri - ',i);
if (a<>b) and (a<>c) and (a<>d) and (b<>c) and (b<>d) and (c<>d) then writeln('ne odinakovie cifri - ',i);
end;
Int n = 100;
List<Integer> ints = new ArrayList<Integer>();
for (int i = 0; i < n; i++) {
if (Math.abs(i) < 50) {
ints.add(i);
}
}
System.out.println(ints.size());
System.out.println(ints.toString());
000 000 000 000 000 100101100
Var c: Char;
s: String;
i,k,p: Integer;
Begin
ReadLn(c); {Чтение заданного символа}
ReadLn(s); {Чтение заданного слова}
p:= Pos(c,s); {Определяем позицию символа}
If (p=0) Then {Функция вернёт 0, если символ не будет найден}
WriteLn('Такого символа в слове нет.')
Else {Если символ есть, то ...}
Begin
WriteLn('Указанный символ расположен на позиции: ',p);
k:= 0; {k хранит количество вхождений}
p:= Length(s); {p хранит длину строки(слова)}
For i:=1 To p Do {Пробегаем по всем символам слова}
If (s[i]=c) Then inc(k); {Если символ совпадает, увеличиваем на 1 переменную k}
WriteLn('Количество вхождений данного символа: ',k);
End;
End.