Tərs Çevirmə#2098

Tərs Çevirmə (Həll təhlili)

Ədədləri bir xətti massivə yığırıq. Sonra onları tərs ardıcıllıqla çıxarırıq.

Massivin tərsinə çevrilməsi ilə bağlı məsələnin həllinə baxaq. Bunun üçün iki göstərici texnikasından istifadə edək.

İki və dəyişəni təyin edək (onları göstərici adlandıraq):

Sonra while dövrü işə salırıq, burada:

Dövr, göstəricilər və görüşənə qədər davam edir.

Qeyd edək ki, və dəyərlərini əlavə dəyişəni vasitəsilə dəyişmək olar, üç əməliyyat icra etməklə:

Alqoritmin realizasiyası

Giriş məlumatlarını oxuyuruq.

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

Ədədləri tərsinə çıxarırıq.

for(i = n - 1; i >= 0; i--)
  printf("%d ",mas[i]);
printf("\n");

Massivin tərsinə çevrilməsi — realizasiya

Massiv elan edirik.

#define MAX 110
int m[MAX];

Giriş məlumatlarını oxuyuruq.

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

İki göstərici texnikası ilə massivi tərsinə çeviririk.

i = 1; j = n;
while(i < j)
{
  temp = m[i]; m[i] = m[j]; m[j] = temp;
  i++; j--;
}

Nəticə massivi çıxarırıq.

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

STL reverse — realizasiya

#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;

int n, i;
vector<int> mas;

int main(void)
{
  scanf("%d",&n);
  mas.resize(n);
  for(i = 0; i < n; i++)
    scanf("%d",&mas[i]);

  reverse(mas.begin(),mas.end());

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

Java realizasiya — massivi sağdan sola çıxarma

import java.util.*;
 
public class Main
{
  public static void main(String[] args) 
  {
    Scanner con = new Scanner(System.in);
    int n = con.nextInt();
    int mas[] = new int[n];
    for(int i = 0; i < n; i++)
      mas[i] = con.nextInt();
    
    for(int i = n - 1; i >= 0; i--)
      System.out.print(mas[i] + " ");
    System.out.println();
    con.close();
  }
}

Java realizasiya — reverse

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];

    // Məlumatları oxuyuruq
    for(int i = 0; i < n; i++)
      m[i] = con.nextInt();

    // Massivi tərsinə çeviririk
    int i = 0, j = n - 1;
    while(i < j)
    {
      int temp = m[i]; m[i] = m[j]; m[j] = temp;
      i++; j--;
    }
    
    // Tərsinə çevrilmiş massivi çıxarırıq
    for(i = 0; i < n; i++)
      System.out.print(m[i] + " ");
    System.out.println();
    con.close();
  }
}

Python realizasiya

Giriş məlumatlarını oxuyuruq.

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

Ədədləri tərsinə çıxarırıq.

for i in range(n - 1,-1,-1):
  print(lst[i], end = " ")

Python realizasiya — reverse

Giriş məlumatlarını oxuyuruq.

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

reverse funksiyası vasitəsilə siyahısını tərsinə çeviririk.

lst.reverse()

Tərsinə çevrilmiş siyahını çıxarırıq.

print(*lst)