LINUX.ORG.RU

История изменений

Исправление Pirr, (текущая версия) :

Вот новая функция, что опять я делаю не так? У меня она работает а на сайте выдает: Failed test #3. Run time error: *** glibc detected *** ./main: malloc(): memory corruption (fast): Ну хоть до 3 теста, доходит и то хорошо.

#include <iostream>

using namespace std;

char *getline() {

	int i = 0;
	char c;
	char * tmp = new char[0];
	while (cin.get(c) && (c != '\n')) {
		i++;
		tmp[i-1] = c;
		char * new_tmp = new char[0];
		for (int n=0;n<i;n++) new_tmp[n] = tmp[n];
		delete [] tmp;
		tmp = new_tmp;
	}
	return tmp;
}

Исходная версия Pirr, :

Вот новая функция, что опять я делаю не так?

#include <iostream>

using namespace std;

char *getline() {

	int i = 0;
	char c;
	char * tmp = new char[0];
	while (cin.get(c) && (c != '\n')) {
		i++;
		tmp[i-1] = c;
		char * new_tmp = new char[0];
		for (int n=0;n<i;n++) new_tmp[n] = tmp[n];
		delete [] tmp;
		tmp = new_tmp;
	}
	return tmp;
}