sofira3
17.12.2020 10:38

) Яркости пикселей рисунка закодированы числами от 0 до 255 в виде матрицы. Преобразовать рисунок в негативно-чёрный по следующему алгоритму:
1) вычислить среднюю яркость пикселей по всему рисунку;
2) все пиксели, яркость которых выше средней, сделать черными (записать код 0), у остальных – изменить цвет на противоположный (негатив).
Входные данные (20 натуральных чисел) записываются в файл «input.txt» по одному числу в строке. Результат выводится в файл «write.txt» в виде матрицы (4´5), используя форматный вывод.
Пример для матрицы 4´4:
Матрица А:
12 14 67 45
32 87 45 63
69 45 14 11
40 12 35 15
Средняя яркость 37.88
Результат:
-12 -14 0 0
-32 0 0 0
0 0 -14 -11
0 -12 -35 -15
2) В каждой строке файла записано три числа, каждое из которых находится в интервале [0, 255]. Эти числа обозначают красную, зелёную и синюю составляющие цвета в цветовой модели RGB. Запишите в другой файл полные коды заданных цветов в виде целых чисел (код цвета = 255·255·R + 255·G + B).
Входные данные записываются в файл «vvod.txt» по одному числу в строке, их количество 15. Результат выводится в файл «output.txt» в столбик.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
desna80
27.02.2021 11:05

Так как неуказан язык программирования пишу алгоритм

1)Открываем поток для чтения файла f , нам еще потребуется переменная назовем ее count (Тип дробных чисел в каждом языке по разному) и переменную допустим value (тоже дробное) Далее проход по файлу любым циклом до конца файла и условие если value = дробь то count  = count +1 И в конце выводим count в файл g

2)Открываем поток для чтения файла f , и две переменные max и min и массив кол-во элементов которого равно кол-ву чисел в файле (Считаем любой функцией ) далее сортируем массив по возрастанию и получиться max = последний элемент массива ;

min = первый элемент массива . Далее выводим min и max в файл g

3)Аналогично 4 только вместо записи их в массив просто задаете переменную которая будет увеличиваться если число четное . 

 

4)Открываем поток для чтения файла f , потребуется массив равный кол-ву четных элементов файла на четность можно проверить если остаток от деления числа на 2 =0 то

число четное , далее просто заполняем массив из файла четными точно такой же проверкой и выводим в файл g . Но еще лучше использовать динамический массив тогда проход по файлу будет равен 1 

5)Все просто открываешь первый файл для чтение считаешь кол-во элементов , 

создаешь массив, кол-во элементов которого = твой подсчет , заполняешь его из файла ,далее соритруешь по возрастанию , и выводишь этот массив в файл 2 , опять же можешь использовать динамические массивы и облегчить себе жизнь

0,0(0 оценок)
Ответ:
матвей462
27.02.2021 11:05
Поскольку протестировать программу без файла нельзя, вот код, создающий нужный файл.

// PascalABC.NET 3.3, сборка 1579 от 18.11.2017
// Внимание! Если программа не работает, обновите версию!

type
  fint=file of integer;

begin
  var f:fint;
  Assign(f,'integers.bin'); Rewrite(f);
  SeqRandom(20,-50,50).foreach(t->Write(f,t));
  f.Close
end.

А теперь, собственно, решение задачи

type
  fint=file of integer;

begin
  var f:fint;
  Assign(f,'integers.bin'); Reset(f);
  var k:=0;
  var b:integer;
  while not Eof(f) do begin
    Read(f,b);
    if b.IsEven then k+=1
    end;
  f.Close;
  Writeln('Кол-во четных компонент файла равно ',k)
end.

И последнее - программа распечатки значений компонент файла. Для контроля.

type
  fint=file of integer;

begin
  var f:fint;
  Assign(f,'integers.bin'); Reset(f);
  var b:integer;
  while not Eof(f) do begin Read(f,b); Print(b) end;
  Writeln;
  f.Close
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота