Можно ли вызвать указатель на двумерный массив и использовать значение int числа строк, которые нужно обработать? Если да, то как? Если нет, что является альтернативой?
Да, вы можете динамически распределять память, используя malloc()
, где внутри ()
, когда вы указываете ее размер, вы должны включить это целое число (количество строк) ) умноженный на размер, сколько байтов примет ваша строка. (это число символов + 1 для нулевого символа)
Однако, определенно лучше отказаться от этого подхода и, как уже упоминалось, вместо него использовать std::vector
из std::string
s. Для того, что вы спросили:
Я не понимаю, как объявить строковый массив после ввода ввода для числа строк.
Объявить вектор строк, заполните его строками до введенного вами номера (обозначающего номер строки) внутри al oop, а затем используйте по своему усмотрению:
#include <iostream>
#include <vector>
int main()
{
int n; // number of strings
std::cin>>n;
std::vector<std::string> stringvector;
std::string s;
for(int i=0; i<n; ++i)
{
std::cin>>s; stringvector.push_back(s);
}
// for(auto i:stringvector) std::cout<<i;
}
Это должно помочь вам начать:)