Мне нужно написать программу, которая читает от пользователя, сколько предложений он введет, а затем пользователь записывает предложения в массив массива.каждое предложение (пока пользователь не наберет «\ n») находится в отдельной строке.Я новичок в этом вопросе, поэтому я надеюсь, что вы поймете.Проблема с введением предложений в массив, когда я печатаю массив, я получаю только последнее введенное предложение.Я думаю, проблема в синтаксисе.спасибо за помощь!
#include <new>
#include <fstream>
#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <string.h>
using std::cin;
using std::endl;
using std::cout;
using std::cerr;
using std::exit;
using std::getline;
const int LENGTH = 1000;
struct Sentences
{
char **_data;
int _numOfSentences;
};
void readSentences(struct Sentences &sent)
{
char sentence[LENGTH];
cin >> sent._numOfSentences;
sent._data = new (std::nothrow) char *[sent._numOfSentences];
cin.get();
if (sent._data == NULL)
{
cerr << "Cannot allocate memory";
exit(EXIT_FAILURE);
}
for (int row = 0; row < sent._numOfSentences; row++)
{
cin.getline(sentence, LENGTH);
sent._data[row] = new (std::nothrow) char[strlen(sentence)];
sent._data[row] = sentence;
}
}
int main()
{
struct Sentences sent;
readSentences(sent);
return 0;
}