Тема: С++
Показать сообщение отдельно
Старый 05.11.2007, 14:39   #8
REY
Trader & Freediver
 
Аватар для REY
 
Регистрация: 27.06.2007
Сообщений: 61
По умолчанию

Может у кого есть пара минуток глянуть, где я скосячил.
Вобщем задача такова. Нужно ввести две строки, а потом сделать из них одну строку и вывести на экран.
Мое решение:
Цитата:
#include <iostream.h>
int main()
{
char *pStr1= new char[30];
char *pStr2= new char[30];
int i,j;
cout << "Vvedite pervuiu stroku: \n";
cin.getline (pStr1, 30);
cout << "Vvedite vtoruiu stroku: \n";
cin.getline (pStr2, 30);
for (i=0; pStr1[i]!=0; i++)
{
}
for (j=0; pStr2[j]!=0; j++)
{
pStr1[i+j+1]=pStr2[j];
cout <<pStr1[i+j+1];
}
return 0;
}
То есть алгоритм такой-с:
1. Вначале я перебираю все элементы первой строки, и получаю число i, которое является индексом последнего элемента в 1-ой строке.
2. Перебираю элементы второй строки, попутно присваивая нужные значения первой строке. Т.е если у меня i получилось в первом переборе равное 3, то по идее в первую строку в элемент с индексом 4 ляжет значение второй строки с нулевым индексом. Вот. Ну и попутно вывожу элементы строки на экран.
Результат. Она выводит просто вторую строку и все. Я не понимаю почему не работает. (Может вывод не так организовал?)
__________________
Не в деньгах счастье, но и не в их отсутствии.
REY вне форума   Ответить с цитированием