Вопрос № 159922: 1. Даны целые числа а1,...,а25, в1,...,в25. Преобразовать последовательность в1,...,в25 по правилу: если а1<=0, то в1 увеличить в 10 раз, иначе в1 заменить нулем (і=1,...,25). 2. Даны целые числа m, а1,...,а20. Найти три натуральных числа...
Вопрос № 159942: 3. Дано натуральное n. Написать программу вычисления значений 1 - 1/2 + ... + (-1)<sup>n-1</sup>/n с помошью циклических процессов...
Вопрос № 159.922
1. Даны целые числа а1,...,а25, в1,...,в25. Преобразовать последовательность в1,...,в25 по правилу: если а1<=0, то в1 увеличить в 10 раз, иначе в1 заменить нулем (і=1,...,25).
2. Даны целые числа m, а1,...,а20. Найти три натуральных числа i, j, k, каждое из которых не превосходит 20, такие, что аi+aj+ak=m. Если таких чисел нет, то сообщфть об этом.
3. Дано натуральное число n. Выяснить, сколько положительных элементов содежит матрица [ai]i, j=1,.., n,если aij= sin(i+j/2).
Отвечает: Абельхарисов Руслан/Marked One
Здравствуйте, Alexeev Olexander! Код задач с коментариями: 1)
Код:
const {Длина последовательности} N = 25;
var {последовательности} a, b: array [1..N] of integer; i: integer;
begin {Заполняем случайными числами от -5 до 4 и выводим на экран обе
последовательность} randomize; Write('Последовательность a: '); for i := 1 to N do begin a[i] := random(10) - 5; write(a[i], ' '); end; WriteLn; Write('Последовательность b: '); for i := 1 to N do begin b[i] := random(10) - 5; write(b[i], ' '); end; WriteLn;
{обрабатываем b} for i := 1 to N do {если a[i] <= 0, то увел
ичиваем b[i] в 10 раз, иначе b[i] := 0} if a[i] <= 0 then b[i] := b[i] * 10 else b[i] := 0;
{Выводим результат} Write('Результат работы: '); for i := 1 to N do write(b[i], ' '); readln; end.
2)
Код:
const
n = 20;
var m, k, i, j: integer; a: array [1..N] of integer;
begin randomize; {Заполняем последовательность случайными числами} Write('Числа a1, .., a20: '); for i := 1 to N do begin a[i] := random(20) - 10; write(a[i], ' '); end; WriteLn();
{Получаем m} Write('Введите m: '); ReadLn(m);
{Передираем числа i, j, k} for i
:= 1 to N do for j := 1 to N do for k := 1 to N do {Если условие выполнилось} if a[i] + a[j] + a[k] = m then begin {То выводи числа и выходим из программы} Write('i = ', i, ', j = ', j, ', k = ', k); Readln; exit; end; {Если дошли сюда, то значит что чисел нет} Write('Таких чисел нет!'); ReadLn; end.
3)
Код:
var {i, j-счетчики для For, count - кол-во положительных элементов, n - размерность матрицы} i, j, count, n: integer; {переменная для хранения значения ячейки матрицы} a: real;
begin {получаем n} Write('Введите n: ');
ReadLn(n);
count := 0;
{Перебирем i, j} for i := 1 to n do begin for j := 1 to n do begin {Вычислем значения для текущих i, j} a := sin(i + j/2); {если оно больше 0, то увеличиваем на 1 счетчик} if a > 0 then inc(count); {Выводим текущий элемент матрицы} write(a:6:2, ' '); end; WriteLn; end; {Выводим ответ} WriteLn('Ответ:
', count); readln; end.
Удачи!!!
--------- Нам не дано предугадать, как слово наше отзовется (C) Тютчев
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.