Главная » 2018 » Февраль » 20 » Массив. Сдвиг. Меню
09:24
Массив. Сдвиг. Меню

#include<iostream>
using namespace std;
void vvod (int *x, int k);
void vivod (int *x, int k);
void SdvigVpravo (int *x, int k);
void SdvigVlevo (int *x, int k);
void menu(int *x, int k);
int main()
{
        setlocale(LC_ALL, "Russian");      
        const int n=10;
        int a[n];
        cout<<"Введите массив"<<endl;
        vvod(a,n);
        cout<<"Введенный массив"<<endl;
        vivod(a,n);
        menu(a,n);
        cout<<"Измененный массив"<<endl;
        vivod(a,n);
        system("pause");
        return 0;
}
void vvod(int *x, int k)
{
    for (int i=0; i<k; i++)
        cin >> x[i];
}
void vivod(int *x, int k)
{        
    for (int i=0; i<k; i++)
        cout << x[i]<<" ";
    cout << endl;
}
void SdvigVpravo (int *x, int k)
{
    int temp;
    temp=x[k-1];
    for (int i=k-1; i>0; i--)
    {
        x[i]=x[i-1];
    }
    x[0]=temp;
}
void SdvigVlevo (int *x, int k)
{
    int temp;
    temp=x[0];
    for (int i=0; i<k-1; i++)
    {
        x[i]=x[i+1];
    }
    x[k-1]=temp;
}
void menu(int *x, int k)
{
    int p,rezhim;
    cout<<"Введите режим сдвига 1-влево, 2-вправо"<<endl;
    cin>>rezhim;
    cout<<"Введите количество позиций сдвига "<<endl;
    cin>>p;
    for (int i=1; i<=p; i++)
    {
        if (rezhim==1) SdvigVlevo(x,k);
        else if (rezhim==2) SdvigVpravo(x,k);
    }
}

Просмотров: 335 | Добавил: denjes | Рейтинг: 0.0/0
Всего комментариев: 0
avatar