Одномерные массивы задача програмирования с++ 3. Имеются десять гирь весом a1, a2, ..., a10. Обозначим через ck — число
которыми можно составить вес k, то есть ck — это число решений уравнения a1x1 +
a2x2 +...+ a10x10 = k, где xi может принимать значения 0 или 1 (i=1,..., 10). Получить с0,
с1, ..., с10.
2 Цвет пикселя на экране монитора формируется из следующих базовых цветов: красного, синего, зелёного.
3 Компьютерная программа может управлять работой компьютера, если она находится в оперативной памяти.
4 Полный путь к файлу имеет вид C:\BOOK\name_may_1.ppt. Расширение этого файла: .ppt
5 В какой строке единицы измерения информации расположены по возрастанию?
Г бит, байт, килобайт, мегабайт, гигабайт.
6 Алфавит двоичной системы счисления: 0, 1.
7 Для пяти букв латинского алфавита заданы их двоичные коды, эти коды представлены в таблице:
А В С D E
000 01 100 10 011
Определить что закодировано в
01 10 100 011 000
В) BDCEA
f: text;
i, j, n, n1: integer;
matrix: array[,] of real;
begin
assign(f, 'informat8.txt');
reset(f);
//найдём количество строк в матрице
while not eof(f) do
begin
readln(f);
inc(n);
end;
writeln('исходная матрица размерности ', n, 'x', n);
//инициализируем массив (размерность узнали выше)
matrix := new real[n, n];
reset(f);
// далее работаем с матрицей размерности [0..n-1] (инициализация происходит, начиная с 0)
for i := 0 to n - 1 do
begin
for j := 0 to n - 1 do
begin
read(f, matrix[i, j]);
write(matrix[i, j]:8:2);
end;
readln(f);
writeln;
end;
writeln;
n1 := 0;
for i := 0 to n - 1 do
for j := 0 to n - 1 do
if matrix[i, j] < 0 then inc(n1);
if n1 > round(n * n / 2) then
begin
writeln('Отрицательных элементов больше половины');
//удваиваем элементы в чётных строках
for i := 0 to n - 1 do
begin
if odd(i) then begin
for j := 0 to n - 1 do
matrix[i, j] := matrix[i, j] * 2;
end;
end;
end else
begin
writeln('Отрицательных элементов меньше половины или ровно половина');
//удваиваем элементы последнего столбца
for i := 0 to n - 1 do
matrix[i, n - 1] := matrix[i, n - 1] * 2;
end;
writeln('результирующая матрица');
for i := 0 to n - 1 do begin
for j := 0 to n - 1 do
write(matrix[i, j]:8:2);
writeln;
end;
end.
Результат работы: