Предмет: Информатика, автор: ikavbegf

1. Реалізувати програму, яка міняє елементи заданого стовпця матриці дійсних
чисел на значення відповідних елементів одновимірного масиву.
2. Змінити код програми (задача №1) таким чином, щоб використовувались не статичні масиви і статичні константи для їх оголошення, а
динамічні масиви


asilvejstruk: Яка мова программування потрібна?
asilvejstruk: Я так гадаю, що c++ вам підійде, тому напишу на ньому код
asilvejstruk: Доповнив відповідь

Ответы

Автор ответа: asilvejstruk
1

1( статичний массив

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main() {

   int rows, columns, column_number;

   cout << "Enter the number of rows: ";

   cin >> rows;

   cout << "Enter the number of columns: ";

   cin >> columns;

   cout << "Enter the number of the column you want to modify: ";

   cin >> column_number;

   static double matrix[8][8]; // static 2D array with a maximum size of 8x8

   // fill the matrix with random numbers

   srand(time(0));

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

       for (int j = 0; j < columns; j++)

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

   // print the original matrix

   cout << "Original matrix:" << endl;

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

       for (int j = 0; j < columns; j++)

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

       cout << endl;

   }

   // create a one-dimensional array with the same size as the column we want to modify

   static double column_values[8];

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

       cout << "Enter a value for row " << i + 1 << ": ";

       cin >> column_values[i];

   }

   // modify the column

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

       matrix[i][column_number - 1] = column_values[i];

   // print the modified matrix

   cout << "Modified matrix:" << endl;

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

       for (int j = 0; j < columns; j++)

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

       cout << endl;

   }

   return 0;

}

2( динамічний массив

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main() {

   int rows, columns, column_number;

   cout << "Enter the number of rows: ";

   cin >> rows;

   cout << "Enter the number of columns: ";

   cin >> columns;

   cout << "Enter the number of the column you want to modify: ";

   cin >> column_number;

   double** matrix = new double*[rows]; // dynamic 2D array

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

       matrix[i] = new double[columns];

   // fill the matrix with random numbers

   srand(time(0));

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

       for (int j = 0; j < columns; j++)

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

   // print the original matrix

   cout << "Original matrix:" << endl;

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

       for (int j = 0; j < columns; j++)

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

       cout << endl;

   }

   // create a one-dimensional array with the same size as the column we want to modify

   double* column_values = new double[rows];

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

       cout << "Enter a value for row " << i + 1 << ": ";

       cin >> column_values[i];

   }

   // modify the column

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

       matrix[i][column_number - 1] = column_values[i];

   // print the modified matrix

   cout << "Modified matrix:" << endl;

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

       for (int j = 0; j < columns; j++)

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

       cout << endl;

   }

   // deallocate memory

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

       delete[] matrix[i];

   delete[] matrix;

   delete[] column_values;

   return 0;

}


ikavbegf: це перше завдання, а як реальзувати 2? це мало б бути дві різні задачі)
asilvejstruk: Ні я сразу написав рабочий код с динамічним массивом
asilvejstruk: По суті завдань одно, тільки у другому випадку просять переписати код, я ж відразу написав код, де використовуються динамічні масиви
asilvejstruk: По суті завдання одне, тільки у другому випадку просять переписати код, я ж відразу написав код, де використовуються динамічні масиви
asilvejstruk: Це не дві різні задачі, це одне завдання
asilvejstruk: Де просять спочатку статично написати код, а потім динамично
asilvejstruk: Я ж відразу написав код, де використовуються динамічні масиви
ikavbegf: але для звіту мені потрібно і статичний масив, і динамічний
asilvejstruk: Добре додал більш детальну відповідь
ikavbegf: дякую за детальну відповідь)
Похожие вопросы
Предмет: Физика, автор: vovcencolyba