Информатика, вопрос задал enderpistol , 9 лет назад

PASCAL
Напишите программу: Дана последовательность из N элементов. Найти количество двузначных чисел, в которых одна и только одна из цифр 3ка.

Ответы на вопрос

Ответил d514
0
вариант решения, если элементы вводятся
var
  n, i, x, s : integer;
  t: string;
begin
  writeln('количество чисел');
  readln(n);
  s := 0;
  for i := 1 to n do
    begin
      writeln(i,' число:');
      readln(x);
      if (x > 9) and (x<100)) then
        begin
          t := 
IntToStr(x);
         if (((t[1] = '3') and
(t[2] <> '3')) or (t[1] <> '3') and (t[2] = '3'))   then s := s+1;
        end;
    end;
    writeln('Ответ ',s)
end.


вариант решения, если элементы заданы массивом
const
n=50
var
  i, x, s : integer;
  t: string;
  m1: array [1..n] of integer;
begin
  s := 0;
  for i := 1 to n do
     begin
      x := m1[i];
      if (x > 9) and (x<100)) then
        begin
          t := IntToStr(x);
         if (((t[1] = '3') and
(t[2] <> '3')) or (t[1] <> '3') and (t[2] = '3'))   then s := s+1;
        end;
    end;
    writeln('Ответ ',s)
end.





Ответил d514
0
все равно потребуется проверять на второе вхождение.
Ответил deafol
0
Вот вариант попроще
var
  n, i, s, x  : integer;
begin
  n := 0;
  writeln('kolichestvo chisel');
  readln(n);
  for i := 1 to n do
    begin
      writeln(i,' chislo');
      readln(x);
      if  ((x mod 3 = 0)  and (x div 10 <> 3)) or ((x mod 3 <> 0)  and (x div 10 = 3)) then
        s := s +1;
    end;
    writeln('otvet: ',s);
end.
Ответил d514
0
не учтен вариант 33 - 2 вхождения тройки
Новые вопросы