programa en C ++ para imprimir la izquierda Rotación de la matriz

rotación izquierda de la matriz mediante el programa C ++ : Aquí, vamos a aprender cómo imprimir los elementos de la matriz después de la rotación izquierda ?

declaración Problema:

Dada una matriz de elementos y la tarea N es imprimir los elementos de una matriz después de la izquierda que giran los elementos de matriz por posiciones d .

de entrada: N , d y la línea siguiente que contiene la n elementos de matriz.

salida: elementos de la matriz después de d rotación.

Ejemplo:

    Input:
n = 7, d = 2
array elements: 1 2 3 4 5 6 7
Output:
3 4 5 6 7 1 2

Solución:

El enfoque ingenuo para resolver este problema es cambiar los todos los elementos d veces, pero este es un proceso que consume tiempo.

Podemos utilizar un pequeño truco aquí para imprimir los elementos de la matriz después de los elementos que quedan girando d .

    Let,
i = ith iteration
D = number of elements to rotate
N = size of array
Then to left rotate array we can use -
arr[i] = arr[(i+D)%N]

C ++ Implementación:

#include <iostream>
using namespace std;
int main()
{
int n,d;
//input value of n and d
cout<<"Enter the value of n and d"<<endl;
cin>>n>>d;
int a[n];
//input array elements
cout<<"enter the array elements : ";
for(int i=0;i<n;i++)
{
cin>>a[i];
}
//print the elements of array after rotation
cout<<"array elements after rotation : ";
for(int i=0;i<n;i++)
{
cout<<a[(i+d)%n]<<" ";
}
return 0;
}

salida

Enter the value of n and d
7 3
enter the array elements : 1 2 3 4 5 6 7
array elements after rotation : 4 5 6 7 1 2 3


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *