Збільшити на 2#904

Збільшити на 2 (Розбір)

Задачу можна вирішити як за допомогою масиву, так і без нього. Послідовно читаємо числа, кожне невід'ємне збільшуємо на .

Реалізація алгоритму

Читаємо вхідне значення .

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()))

Створимо реультуючий список . Збільшуємо на кожен невід'ємний елемент списку .

p = [x + 2 if x >= 0 else x for x in lst]

Виводимо відповідь.

print(*p)

Python реалізація — map

Читаємо вхідні дані.

n = int(input())
lst = map(int,input().split())

Оголосимо функцію , визначену наступним чином:

f(n) = \begin{cases} n + 2, n \ge 0 \\ n, n < 0 \end{cases}
def f(n):
  if n >= 0:
    return n + 2
  return n

Застосовуємо функцію до кожного елемента списку .

res = list(map(f,lst))

Виводимо список .

for x in res:
  print(x, end=" ")