Аналіз алгоритму
Задачу можна вирішити як за допомогою масиву, так і без нього. Послідовно читаємо числа, кожне невід'ємне збільшуємо на 2.
Реалізація алгоритму
Читаємо вхідні дані.
scanf("%d",&n); for (i = 0; i < n; i++) { scanf("%d",&val); // Якщо число невід'ємне, то збільшуємо його на 2. 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]); // Перебираємо елементи масиву. Збільшуємо на 2 кожен його невід'ємний елемент. 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); // виділення пам'яті m = new int[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"); // звільнення пам'яті delete[] m; return 0; }
Реалізація алгоритму – вектор, push_back
#include <cstdio> #include <vector> using namespace std; int i, val, n; vector<int> m; int main(void) { 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"); return 0; }
Реалізація алгоритму – вектор, resize
#include <cstdio> #include <vector> using namespace std; int i, n; vector<int> m; int main(void) { 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"); 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=" ")