Разбор
Задачу можно решить как при помощи массива, так и без него. Последовательно читаем числа, каждое неотрицательное увеличиваем на .
Реализация алгоритма
Читаем входное значение .
scanf("%d",&n);
Последовательно читаем чисел.
for (i = 0; i < n; i++) { scanf("%d",&val);
Если число неотрицательно, то увеличиваем его на .
if (val >= 0) val +=2;
Выводим число после изменения.
printf("%d ",val); } printf("\n");
Реализация алгоритма — массив
Объявим рабочий массив.
int m[101];
Читаем входные данные.
scanf("%d",&n); for (i = 0; i < n; i++) scanf("%d",&m[i]);
Перебираем элементы массива. Увеличиваем на каждый его неотрицательный элемент.
for (i = 0; i < n; i++) if (m[i] >= 0) m[i] = m[i] + 2;
Выводим ответ — результирующий массив.
for (i = 0; i < n; i++) printf("%d ",m[i]); printf("\n");
Реализация алгоритма — вектор, push_back
Читаем входные данные.
scanf("%d",&n); for (i = 0; i < n; i++) { scanf("%d",&val); m.push_back(val); }
Перебираем элементы массива. Увеличиваем на каждый его неотрицательный элемент.
for (i = 0; i < n; i++) if (m[i] >= 0) m[i] = m[i] + 2;
Выводим ответ — результирующий массив.
for (i = 0; i < n; i++) printf("%d ",m[i]); printf("\n");
Реализация алгоритма — вектор, resize
Читаем входные данные.
scanf("%d",&n); m.resize(n); for (i = 0; i < n; i++) scanf("%d",&m[i]);
Перебираем элементы массива. Увеличиваем на каждый его неотрицательный элемент.
for (i = 0; i < n; i++) if (m[i] >= 0) m[i] = m[i] + 2;
Выводим ответ — результирующий массив.
for (i = 0; i < n; i++) printf("%d ",m[i]); printf("\n");
Реализация алгоритма — указатели
#include <stdio.h> int i, n; int *m; int main(void) { scanf("%d",&n); // allocate mamory m = new int[n]; // read the array for (i = 0; i < n; i++) scanf("%d",&m[i]); // process the array for (i = 0; i < n; i++) if (m[i] >= 0) m[i] = m[i] + 2; // print the array for (i = 0; i < n; i++) printf("%d ",m[i]); printf("\n"); // free the memory delete[] m; return 0; }
Java реализация
import java.util.*; public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); int n = con.nextInt(); for (int i = 0; i < n; i++) { int val = con.nextInt(); if (val >= 0) val += 2; System.out.print(val + " "); } System.out.println(); con.close(); } }
Java реализация – массив
import java.util.*; public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); int n = con.nextInt(); int m[] = new int[n]; for (int i = 0; i < n; i++) m[i] = con.nextInt(); for (int i = 0; i < n; i++) if (m[i] >= 0) m[i] += 2; for (int i = 0; i < n; i++) System.out.print(m[i] + " "); System.out.println(); con.close(); } }
Java реализация – ArrayList
import java.util.*; public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); int n = con.nextInt(); ArrayList<Integer> m = new ArrayList<Integer>(); for (int i = 0; i < n; i++) { int val = con.nextInt(); m.add(val); } for (int i = 0; i < n; i++) if (m.get(i) >= 0) m.set(i,m.get(i)+2); for (int i = 0; i < n; i++) System.out.print(m.get(i) + " "); System.out.println(); con.close(); } }
Python реализация
Читаем входные данные.
n = int(input()) lst = list(map(int,input().split()))
Перебираем элементы списка . Увеличиваем на каждый его неотрицательный элемент.
for i in range(n): if lst[i] >= 0: lst[i] = lst[i] + 2
Выводим ответ – список .
print(*lst)
Python реализация — строка результат
Читаем входные данные.
n = int(input()) list = list(map(int,input().split())) res = ""
Перебираем элементы списка . Увеличиваем на каждый его неотрицательный элемент.
for i in range(n): if list[i] >= 0: list[i] = list[i] + 2
Ответ заносим в строку .
res = res + str(list[i])+ " "
Выводим ответ — список .
print(res)
Python реализация — map
Читаем входные данные.
n = int(input()) lst = map(int,input().split())
Объявим функцию , определенную следующим образом:
def f(n): if n >= 0: return n + 2 return n
Применяем функцию к каждому элементу списка .
res = list(map(f,lst))
Выводим список .
for x in res: print(x, end=" ")