Прога ** паскале В каждой строке файла записано три числа, каждое из которых находится в...

0 голосов
300 просмотров

Прога на паскале
В каждой строке файла записано три числа, каждое из которых находится в интервале[0,255]. Эти числа обозначают красную,зелёную и синюю составляющие цвета в цветовой модели RGB. Запишите в другой файл полные коды заданных цветов в виде целых чисел(код цвета= 255•255•R+255•G+B).


Информатика (155 баллов) | 300 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadAllText('input.txt').ToIntegers; // a[0]=R,.. a[2]=B
  WriteAllText('output.txt',(a[0]*255*255+a[1]*256+a[2]).ToString)
end.
(150k баллов)
0

Файл должен находиться в одной директории с файлом программы, либо надо указать полный путь по типу 'C:\MyFile\input.txt'

0

Спасибо; но можно как-нибудь попроще?)просто я ещё не прошла такие штуки,как AllText или ToIntegers

0

Две строки - это сложно???

0

ReadAllText тупо читает файл в строку. Весь и зараз. ToIntegers берет строку, делит ее на числа и превращает в целочисленный массив.

0

Возможно, для Вас "попроще" то, что написали выше. Но нужно указывать версию Паскаля, мысли читать я пока что еще не научился.

0 голосов

Const    sixteen: string = '0123456789ABCDEF';
function TenIn16(x: integer): string;var  s: string;begin    repeat      s := sixteen[x mod 16 + 1] + s;      x := x div 16;    until x = 0;    if length(s) = 1 then    s := '0' + s;    TenIn16 := s;end;
var    f1, f2: text;    a1, a2, a3: byte;
begin    assign(f1, 'record.txt');    reset(f1);    assign(f2, 'result.txt');    rewrite(f2);    while not eof(f1) do     begin        read(f1, a1, a2, a3);        writeln(f2, TenIn16(a1), TenIn16(a2), TenIn16(a3));    end;    close(f1);    close(f2);end.

(116 баллов)