ЛС
Липницкая Светлана

Создание массива на С/С++



Как сделать, что бы вводимая строка заносилась в массив ( каждое слово- новый элемент массива) ?
З. Ы. разрешено использовать только стандартную библиотеку

LL
Lika Len

>З. Ы. разрешено использовать только стандартную библиотеку
iostream использую, и ниипёт.
#include
using namespace std;
int main()
{
int n=0,k=0; char* strarr[ 100];
char str[ 100]; char* temp=new char[ 100];
cin.get(str,100);
for (int i=0; i < strlen(str); i++)
{
if (str[ i]!=' ')
temp[ n++]=str[ i];
else if(str[ i]==' ' && str[ i+1]!=' ') //чтобы избежать косяков в случает более одного пробела
{
n=0;
strarr[ k]=new char[ strlen(temp)+1 ];
strarr[ k++ ]=temp; // ну или можно использовать strcpy, каждый элемент массива указателей - слово
delete [ ] temp;
}
}
return 0;
}

ГМ
Георгий Мовшевич

очень просто

// заводишь массив, для простоты - статический
// это массив из 10 строк, в каждой может быть не более 128 символов (с завершающим нулем)
char strings [10] [128];

// далее в цикле вводим строки
for ( i =0 ; i < 10; i++ )
{
gets ( strings [ i ] ) ; // вводит строку до символа перевода строки без проверки буфера на вместимость
// или так
// scanf ( " %s ", strings [ i ] ) ; // вводит строку до пробела
}

Похожие вопросы
С++ как сделать без массивов
Что не так? С++ Двухмерные массивы
Динамические массивы
ПОМОГИТЕ решить задачу по созданию одномерного массива с оператором цикла
Массивы в JavaScript
Одномерные массивы (с++)
задача на с++ ,на массивы
Сортировка Массива
Задачка с массивом С
Массивы в php