Как увеличить размер динамического масива?
Такого (созданного при помощи new) - только созданием нового и копированием в него содержимого из старого.

Для std::vector есть метод .resize()
Используйте std::string:
#include<String>
using namespace std;
int main(){
string t="";
cin>>t;//сохранить данные в переменную std::string
const char *a=t.c_str();//преобразовать string в const char*
//Для 2 массива альтернативный подход.
}