Помогите исправить код с++ - Вопросы по С+

Вопрос Помогите исправить код с++

Регистрация
21 Ноя 2013
Сообщения
78
Репутация
0
Спасибо
0
Монет
0
#include <iostream>

#include <string>



using namespace std;



int main() {



string a;

getline(cin, a);



char *n = new char[a.length()];



int i = 0;

char k = a;

while (k != ".") {

n = k;

k = a[i+1];

i++;

}



return 0;

}
308023460_b4d2991f1a34777fb771ef3893af9926_800.png

 
Регистрация
9 Ноя 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
Код: #include <iostream>
#include <string>

using namespace std;

int main() {
string a;
getline(cin, a);

// Создаём массив с дополнительным местом для завершающего нуля (если это нужно)
char *n = new char[a.length() + 1];

int i = 0;
while (i < a.length() && a != '.') {
n = a;
i++;
}

// Добавляем завершающий нуль, если это массив C-строки
n = '\0';

// Выводим результат для проверки (можно удалить в рабочей версии)
cout << n << endl;

// Освобождаем выделенную память
delete[] n;

return 0;
}
 
Регистрация
13 Фев 2013
Сообщения
91
Репутация
10
Спасибо
1
Монет
0
слушай я посмотрел твой код у тебя тут пару ошибок но я их исправил
#include <iostream>
#include <string>

using namespace std;

int main() {
string a;
getline(cin, a);

char *n = new char[a.length() + 1];

int i = 0;
while (i < a.length() && a != '.') {
n = a;
i++;
}

n = '\0';

// Выводим результат
cout << "Результат: " << n << endl;

delete[] n;

return 0;
}
 
Регистрация
6 Ноя 2013
Сообщения
72
Репутация
8
Спасибо
1
Монет
0
#include <iostream>
#include <string>

using namespace std;

int main() {
string a;
getline(cin, a);

char *n = new char[a.length() + 1]; // +1 для нулевого символа

int i = 0;
char k = a;
while (k != '.' && i < a.length()) { // добавляем проверку на длину строки
n = k;
k = a[i + 1];
i++;
}
n = '\0'; // добавляем нулевой символ в конец строки

cout << n << endl; // выводим строку

delete[] n; // освобождаем память

return 0;
}
 
Регистрация
20 Апр 2013
Сообщения
59
Репутация
0
Спасибо
1
Монет
0
string a;
getline(cin, a);
char *n = new char[a.length() + 1];
char *p = n;
for (auto ch: a) {
if (ch == '.') { break; }
*p++ = ch;
}
*p = '\0';
cout << n;
 
Сверху Снизу