2 vahid artırma#904

2 vahid artırma (Həll təhlili)

Məsələ həm massivdən istifadə etməklə, həm də onsuz həll edilə bilər. Ardıcıllıqla daxil olan rəqəmləri oxuyur və hər bir qeyri-mənfi rəqəmi artırırıq.

Alqoritmin reallaşdırılması

Daxil olan ədədini oxuyuruq.

scanf("%d",&n);

Ardıcıllıqla ədəd oxuyuruq.

for (i = 0; i < n; i++)
{
  scanf("%d",&val);

Əgər rəqəmi qeyri-mənfidirsə, onu artırırıq.

  if (val >= 0) val +=2;

Dəyişdirilmiş rəqəmini çap edirik.

  printf("%d ",val);
}
printf("\n");

Alqoritmin reallaşdırılması — massiv

İşçi massiv elan edirik.

int m[101];

Daxil olan məlumatları oxuyuruq.

scanf("%d",&n);
for (i = 0; i < n; i++)
  scanf("%d",&m[i]);

Massivin elementlərini ardıcıllıqla gözdən keçiririk. Onun hər bir qeyri-mənfi elementini artırırıq.

for (i = 0; i < n; i++)
  if (m[i] >= 0) m[i] = m[i] + 2;

Nəticəni — nəticə massivini çap edirik.

for (i = 0; i < n; i++)
  printf("%d ",m[i]);
printf("\n");

Alqoritmin reallaşdırılması — vektor, push_back

Daxil olan məlumatları oxuyuruq.

scanf("%d",&n);
for (i = 0; i < n; i++)
{
  scanf("%d",&val);
  m.push_back(val);
}

Massivin elementlərini ardıcıllıqla gözdən keçiririk. Onun hər bir qeyri-mənfi elementini artırırıq.

for (i = 0; i < n; i++)
  if (m[i] >= 0) m[i] = m[i] + 2;

Nəticəni — nəticə massivini çap edirik.

for (i = 0; i < n; i++)
  printf("%d ",m[i]);
printf("\n");

Alqoritmin reallaşdırılması — vektor, resize

Daxil olan məlumatları oxuyuruq.

scanf("%d",&n);
m.resize(n);
for (i = 0; i < n; i++)
  scanf("%d",&m[i]);

Massivin elementlərini ardıcıllıqla gözdən keçiririk. Onun hər bir qeyri-mənfi elementini artırırıq.

for (i = 0; i < n; i++)
  if (m[i] >= 0) m[i] = m[i] + 2;

Nəticəni — nəticə massivini çap edirik.

for (i = 0; i < n; i++)
  printf("%d ",m[i]);
printf("\n");

Alqoritmin reallaşdırılması — göstəricilər

#include <stdio.h>

int i, n;
int *m;

int main(void)
{
  scanf("%d",&n);
  // yaddaş ayır
  m = new int[n];

  // massivi oxu
  for (i = 0; i < n; i++)
    scanf("%d",&m[i]);

  // massivi işlət
  for (i = 0; i < n; i++)
    if (m[i] >= 0) m[i] = m[i] + 2;

  // massivi çap et
  for (i = 0; i < n; i++)
    printf("%d ",m[i]);
  printf("\n");

  // yaddaşı azad et
  delete[] m;
  return 0;
}

Java reallaşdırılması

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 reallaşdırılması – massiv

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 reallaşdırılması – 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 reallaşdırılması

Daxil olan məlumatları oxuyuruq.

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

siyahısının elementlərini ardıcıllıqla gözdən keçiririk. Onun hər bir qeyri-mənfi elementini artırırıq.

for i in range(n):
  if lst[i] >= 0:
    lst[i] = lst[i] + 2

Nəticəni — siyahısını çap edirik.

print(*lst)

Python reallaşdırılması — siyahı quruluşu

Daxil olan məlumatları oxuyuruq.

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

Nəticə siyahısını yaradırıq. siyahısının hər bir qeyri-mənfi elementini artırırıq.

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

Nəticəni çap edirik.

print(*p)

Python reallaşdırılması — map

Daxil olan məlumatları oxuyuruq.

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

Aşağıdakı kimi təyin edilən funksiyasını elan edirik:

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

funksiyasını siyahısının hər bir elementi üzərində tətbiq edirik.

res = list(map(f,lst))

siyahısını çap edirik.

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