Перепишите, пожалуйста, на Си:
| Код | uses CRT; { библиотека для очистки экрана } var max, min, R, count, i, z: integer; data: string; myfile: text; {-------------------------------------------------}
{ Функция преобразования строки в число на "ходу" } function StrToInt(str: string): integer; var error, int: integer; begin Val(str,int,error); if (error = 0) then begin StrToInt:=int; end else StrToInt:=0; end; {-------------------------------------------------} begin ClrScr; { очищаем экран } while ( (count<2) or (count>10) ) do begin { цикл завершиться, если 2<=count<=10 } write('Enter count of string (2..10): '); readln(count); end; write ('1.File or 2.Keyboard'); readln (z); if z=1 then begin assign(myfile,'230.dat'); { открываем файл } reset(myfile); { для чтения } read(myfile,data); { читаем строку } close(myfile); { закрываем его } end; if z=2 then begin write('Vvedite stroku simvolov -> '); read(data); end; writeln; { дизайн ;) }
for i:=1 to count do write(data[i],';'); { выводим данные с заданными условиями } ;
max:=StrToInt(data[1]); { макс. = 1 - му элементу } min:=StrToInt(data[1]); { мин. = 1 - му элементу } for i:=2 to count do begin { цикл проверки } if (StrToInt(data[i])>max) then max:=StrToInt(data[i]); { проверка на максимум } if (StrToInt(data[i])<min) then min:=StrToInt(data[i]); { проверка на минимум } end;
R:=(max-min)+1; { находим разность }
writeln; { опять дизайн ;) }
writeln('Max = ',max); { выводим макс. } writeln('Min = ',min); { выводим мин. } writeln('R = ',R); { выводим разность }
assign(myfile,'230.txt'); { открываем (создаем) новый файл} rewrite(myfile); writeln(myfile,Copy(data,1,count)); { записываем ряд чисел } writeln(myfile,'max=',max); { записываем максимум } writeln(myfile,'min=',min); { записываем минимум } writeln(myfile,'r=',R); { записываем разность } close(myfile); { закрываем } readln; { ждем нажатия Enter } end. |
Очень нужно сегодня! Заранее огромное спасибо! |