profile
Размещено 2 года назад по предмету Информатика от Kukuwka0Ha0DepeBe

C++
1. Створіть двовимірний масив. Заповніть його
випадковими числами і покажіть на екран. Користувач
вибирає кількість зрушень і положення (вліво, вправо,
вгору, вниз). Виконати зрушення масиву і показати на
екран отриманий результат. Зрушення циклічне.
Тиждень 10
1
Наприклад, якщо ми маємо такий масив.
1 2 0 4 5 3
4 5 3 9 0 1
і користувач вибрав зрушення на 2 розряди вправо, то
ми отримаємо:
5 3 1 2 0 4
0 1 4 5 3 9.

  1. Ответ на вопрос
    Ответ на вопрос дан MagicSticks

    Ответ:

    #include <iostream>

    #include <cstdlib>

    #include <ctime>

    using namespace std;

    const int ROWS = 2;

    const int COLS = 6;

    void fillArray(int arr[][COLS], int rows, int cols) {

       srand(time(NULL));

       for (int i = 0; i < rows; i++) {

           for (int j = 0; j < cols; j++) {

               arr[i][j] = rand() % 10;

               cout << arr[i][j] << " ";

           }

           cout << endl;

       }

    }

    void shiftArray(int arr[][COLS], int rows, int cols, int shift, string direction) {

       int tempArr[ROWS][COLS];

       if (direction == "left") {

           for (int i = 0; i < rows; i++) {

               for (int j = 0; j < cols; j++) {

                   tempArr[i][(j - shift + cols) % cols] = arr[i][j];

               }

           }

       } else if (direction == "right") {

           for (int i = 0; i < rows; i++) {

               for (int j = 0; j < cols; j++) {

                   tempArr[i][(j + shift) % cols] = arr[i][j];

               }

           }

       } else if (direction == "up") {

           for (int i = 0; i < rows; i++) {

               for (int j = 0; j < cols; j++) {

                   tempArr[(i - shift + rows) % rows][j] = arr[i][j];

               }

           }

       } else if (direction == "down") {

           for (int i = 0; i < rows; i++) {

               for (int j = 0; j < cols; j++) {

                   tempArr[(i + shift) % rows][j] = arr[i][j];

               }

           }

       }

       for (int i = 0; i < rows; i++) {

           for (int j = 0; j < cols; j++) {

               arr[i][j] = tempArr[i][j];

           }

       }

       cout << endl << "Array after " << shift << " shift(s) " << direction << ":" << endl;

       for (int i = 0; i < rows; i++) {

           for (int j = 0; j < cols; j++) {

               cout << arr[i][j] << " ";

           }

           cout << endl;

       }

    }

    int main() {

       int arr[ROWS][COLS];

       fillArray(arr, ROWS, COLS);

       int shift;

       string direction;

       cout << "Enter shift value: ";

       cin >> shift;

       cout << "Enter shift direction (left, right, up, down): ";

       cin >> direction;

       shiftArray(arr, ROWS, COLS, shift, direction);

       return 0;

    }

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.