Ссылка на оригинальную статью.
Задача
Задан одномерный массив [latex]A[/latex] целых чисел. Увеличить на [latex]2[/latex] каждый неотрицательный элемент массива.
Входные данные
В первой строке задано натуральное число [latex]h[/latex] — количество элементов массива [latex]h \le 100.[/latex] Во второй строке через пробел заданы сами элементы массива, значение каждого из которых по модулю не превышает [latex]100.[/latex]
Выходные данные
В единственной строке вывести через пробел [latex]h[/latex] чисел: новые значения элементов массива, в том же порядке, в котором они были заданы.
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
package; import neko.Lib; class Main { static function main() { var h:Int = Std.parseInt(Sys.stdin().readLine()); // инициализируем длину масива var A = []; //инициализируем массив //С помощью цикла добавляем заданное количество элементов for (i in 0...h) { var b:Int = Std.parseInt(Sys.stdin().readLine()); A.push(b); //если элемент массива больше 0 то увеличиваем его на 2 //В противном случае ничего не делаем if (A[i] > 0) { A[i] += 2; } // Выводим новые элементы массива trace(A[i]); } } } |
Тесты
Входные данные | Выходные данные |
4 1 2 3 4 |
3 4 5 6 |
4 1 2 3 -4 |
3 4 5 -4 |
4 -1 2 3 4 |
-1 4 5 6 |
4 0 2 3 4 |
2 4 5 6 |
4 1 2 2 4 |
3 4 4 6 |
Решение
Вводим число [latex]b[/latex]. Используем цикл for и вводим число [latex]b[/latex]. Выводим неотрицательные элементы массива [latex]A[/latex], либо без изменений, либо увеличенное на два.