Есть ответ 👍

Написать програмный код С++ ЗАДАЧА : Значения элементов двумерного динамического массива из n строк и m столбцов скопировать в одномерный динамический массив размером m*n. Копирование проводить по

строкам начиная с первой;

 Исходные данные ввести из текстового файла;

 Результат вывести на экран и в текстовый файл;

 Программа должна содержать комментарии;

220
393
Посмотреть ответы 2

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

lida113
4,5(64 оценок)

#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

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS