Agadzhanyan-Ekaterina
?>

Дано натуральное число. Из данного натурального числа удалить все цифры А (А вводится с клавиатуры Типы переменных можно использовать: real и integer.

Информатика

Ответы

Потапова 79275136869323

var x, a, b, k: integer;

begin

write('Введите число: ');

readln(x);

write('Введите цифру: ');

readln(a);

b := 0;

k := 1;

while x > 0 do  //цикл пока данное число больше 0

begin

if x mod 10 <> a then // сравниваем последнюю цифру данного числа с указанной цифрой

begin  // если последняя цифра данного числа не равна указанной цифре

b := b+(x mod 10)*k;  // получаем новое число из числа b и последней цифры данного числа умноженной на коэффициент

k := k*10;  // увеличиваем коэффициент (единицы, десятки и т.д.)

end;

x := x div 10;  // отбрасываем последнюю цифру из данного числа

end;

writeln('Получилось: ', b);

end.

Lusiarko65

Примерно так. На псевдоязыке, который легко переводится в тот, который знаком

 

//

Сумм=0;

Конец=0;

 

Ввод(Ч);

Пока (Ч#Конец)  Цикл

        Если Проверить(Ч)=1 Тогда  

               Сумм=Сумм+Ч; 

       КонецЕсли;

      Ввод(Ч);

КонецЦикла;

 

Печать(Сумм);

//

 

//

Функция Проверить(П)

       Если Остаток(П,10)=4 Тогда

                Если Остаток(П,6)=0 Тогда

                         Возврат(1);

                КонецЕсли;

       КонецЕсли;

       Возврат(0);

КонецФункции

//

 

Этот текст не использует массивы, поэтому количество вводимых чисел неограничено. Их величина определяется описанием переменной(если в языке оно явно требуется, для приведенных данных достаточно описать как ЦЕЛОЕ(INTEGER)). Сумм описать побольше(если требуется).

Если в языке нет функции Остаток(обычно MOD), напиши свою, это очень просто.

Повторюсь, в Паскаль, Бейсик, 1С текст переводится очень легко, в С(Java, PHP и пр.) чуть сложнее, там немного другой синтаксис, но это преодолимые проблемы.

Petrakova Ilyushin

Не сказала бы, что это решение сильно отличается от уже имеющегося, но 

а) оно совсем немножко удобнее (хотя бы из-за ClrScr и вывода ответа с определённым количеством знаков после запятой). А ещё предусмотрена возможность отсутствия таковых чисел.

б)ну не могла я пропустить задачу по паскалю)

 

Program n1;
Uses CRT;
Const n=10;
Var a: array[1..n] of integer;
i,s,k: integer;
begin
ClrScr;
Randomize;
For i:=1 to n do
begin
a[i]:=random(10);
write(a[i]:3);
If a[i]=i then
begin
s:=s+a[i];
writeln('s=',s);
k:=k+1;
end;
end;
writeln;
If k=0 then writeln('таких элементов нет') else
Writeln('Среднее арифметическое элементов массива, равных своим индексам, равно ',s/k:4:4);
readln
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дано натуральное число. Из данного натурального числа удалить все цифры А (А вводится с клавиатуры Типы переменных можно использовать: real и integer.
Ваше имя (никнейм)*
Email*
Комментарий*