Есть ответ 👍

Заменить в группах символов, состоящих только из цифр, все цифры предыдущими по значению цифрами, а '0' заменить на точку. делфи

176
493
Посмотреть ответы 2

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

LONNI34
4,5(24 оценок)

заменить в группах символов, состоящих только из цифр, все цифры предыдущими по значению цифрами, а '0' заменить на точку. например, строка: ‘ 6е-1 75 bа12 123‘ ; результат: ‘ 6е-1 64 bа12 012‘

code: #pascal uses  crt; varbo,bb: boolean; b3,b2,sc,ss,b,s: string; t,p,cc,j,e,i,c: integer; begin  clrscr;   sc: ='0123456789';   writeln('vvedite stroku');   readln(s);   s: =s+' ';   c: =length(s);   for  i: =1  to  c  do  begin  b: =copy(s,i,1);   if  b< > ' '  then  ss: =ss+b  else  begin  cc: =length(ss);   bo: =true;   for  j: =1  to  cc  do  begin  b2: =copy(ss,j,1);   bb: =false;   for  t: =1  to  10  do  begin  b3: =copy(sc,t,1);   if  b3=b2  then  bb: =true; end;   if  bb=false  then  bo: =false; end;   if  bo=true  then    begin  for  j: =1  to  cc  do  begin  b2: =copy(ss,j,1);   val(b2,p,e);   if  p=0  then  write('.')  else  write(p-1); end;   write(' ');   end  else  write(ss,' ');   ss: =''; end; end; readkey; end.
kagdhs
4,7(52 оценок)

1.

var

  t, c : array [1..25] of real;

  sumt, sumc : real;

  i : integer;

begin

  for i : = 1 to 25 do read (t[i]);

  for i : = 1 to 25 do read (c[i]);

  sumt : = 0; sumc : = 0;

  for i : = 1 to 25 do

  begin

    sumt : = sumt + t[i];

    sumc : = sumc + c[i];

  end;

  writeln ('средний вес = ', sumt / 25);

    writeln ('средний рост = ', sumc / 25);

end.

 

2. 

const

  maxn = 1000;

var

  a : array [1..maxn] of integer;

  n, i : integer;

begin

  read (n); //если n дано

//если n не дано, нужно читать до конца строки

  //while not eoln do begin n : = n + 1; read (a[n])} end;

  for i : = 1 to n do read (a[i]); //если n дано

  for i : = n downto 1 do

    if i mod 2 = 1 then write (a[i], ' ');

end.

 

тесты: а) 8 5 1 б) 9 8 4 6 1

 

Популярно: Информатика