Как создать массив в C ++ на основе ввода для числа строк? - PullRequest
0 голосов
/ 17 апреля 2020

Я застрял с задачей, где я должен ввести количество строк, которые должны быть обработаны, а затем отобразить четные и нечетные символы по отдельности.

Я не совсем понимаю, как объявить массив строк после ввода ввода для количества строк.

Можно ли вызвать указатель на двумерный массив и использовать значение int числа строк, которые нужно обработать? Если да, то как? Если нет, какова альтернатива?

1 Ответ

1 голос
/ 17 апреля 2020

Можно ли вызвать указатель на двумерный массив и использовать значение 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;
}

Это должно помочь вам начать:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...