Информатика, вопрос задал MSashaZ , 1 год назад

С++
Напишите программу, которая создает двумерный
массив и заполняет его по следующему принципу: пользователь
вводит число (например, 3) первый элемент массива
принимает значение этого числа, следующий элемент массива
принимает значение этого числа + 1 (т.е. 4 для нашего
примера), третий элемент массива — предыдущий элемент
+1 (т.е. 5 для нашего примера). Созданный массив
вывести на экран.


aurri: а массив нужен уже известных размеров, или с помощью ввода?
MSashaZ: Ввода

Ответы на вопрос

Ответил aurri
1

#include <iostream>

using namespace std;

int main() {

   setlocale(LC_ALL, "ru");

   cout << "Введите ширину двумерного массива: ";

   int width = 2;

   do {

       if (width < 1)

           cout << "Неккоректный размер, введите ещё раз: ";

       cin >> width;

   } while (width < 1);

   int height = 2;

   cout << "Введите высоту двумерного массива: ";

   do {

       if (height < 1)

           cout << "Неккоректный размер, введите ещё раз: ";

       cin >> height;

   } while (height < 1);

   int** array = new int* [height];

   for (size_t i = 0; i < height; i++)

       array[i] = new int[width];

   cout << "Введите первый элемент массива: ";

   int firstEl;

   cin >> firstEl;

   array[0][0] = firstEl;

   for (size_t y = 0; y < height; y++) {

       for (size_t x = 0; x < width; x++) {

           if (y == 0 && x == 0)

               continue;

           if (x == 0) {

               array[y][x] = array[y - 1][width - 1] + 1;

           }

           else {

               array[y][x] = array[y][x - 1] + 1;

           }

       }

   }

   for (size_t y = 0; y < height; y++) {

       for (size_t x = 0; x < width; x++)

           cout << "[" << array[y][x] << "]";

       cout << endl;

   }

   delete[] array;

   return 0;

}

Приложения:

aurri: а, там двумерный, щас перепишу
aurri: всё
Новые вопросы