Написать програмный код С++ ЗАДАЧА : Значения элементов двумерного динамического массива из n строк и m столбцов скопировать в одномерный динамический массив размером m*n. Копирование проводить по
строкам начиная с первой;
Исходные данные ввести из текстового файла;
Результат вывести на экран и в текстовый файл;
Программа должна содержать комментарии;
Ответы на вопрос:
#include <iostream>
#include <fstream> // Для работы с файлами
#include <cstdlib> // Для функции exit()
using namespace std;
int main()
{
// Открываем файл для чтения
ifstream input_file("input.txt");
if (!input_file.is_open()) {
// Если файл не удалось открыть, выводим сообщение об ошибке и завершаем программу
cerr << "Error: unable to open input file" << endl;
exit(1);
}
// Считываем количество строк и столбцов
int n, m;
input_file >> n >> m;
// Создаем двумерный динамический массив
int** array = new int*[n];
for (int i = 0; i < n; i++) {
array[i] = new int[m];
}
// Считываем значения элементов из файла
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
input_file >> array[i][j];
}
}
// Создаем одномерный динамический массив
int* new_array = new int[n * m];
// Копируем значения элементов из двумерного массива в одномерный
int k = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
new_array[k++] = array[i][j];
}
}
// Закрываем файл
input_file.close();
// Открываем файл для записи
ofstream output_file("output.txt");
if (!output_file.is_open()) {
// Если файл не удалось открыть, выводим сообщение об ошибке и завершаем программу
cerr << "Error: unable to open output file" << endl;
exit(1);
}
// Выводим значения элементов одномерного массива в файл
for (int i = 0; i < n * m; i++) {
output_file << new_array[i] << " ";
}
output_file << endl;
// Закрываем файл
output_file.close();
// Освобождаем выделенную память
for (int i = 0; i < n; i++) {
delete[] array[i];
}
delete[] array;
delete[] new_array;
return 0;
}
Не забудьте также проверить, что файлы input.txt и output.txt существуют и имеют нужные разрешения для чтения/записи.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
egorilin1626hdhudn10.02.2023 03:23
-
Typre3520.06.2022 05:55
-
нурислам1524.06.2023 17:26
-
Олеська1134822.12.2020 17:47
-
olga1408120.11.2022 23:48
-
Zhanaevakasiet15.06.2022 11:52
-
zka20zka2028.03.2021 05:31
-
alekseykraynov16.01.2020 15:32
-
gores7master14.05.2021 11:54
-
sharinaEl30.07.2021 02:01
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.