Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2017, 17:05   #1
Crazy_Fixik
Новичок
Джуниор
 
Регистрация: 05.01.2017
Сообщений: 1
По умолчанию [C++]: Функция возвращающая строку, в которой каждый символ считываемой строки удвоен. Помогите найти ошибки в коде

Программа выдает какой-то набор левых символов. Помогите, пожалуйста, найти ошибку(-и)
Код:
#include<conio.h>
#include<stdio.h>
#include<malloc.h>
char* doubleString(char* str){
	int size,i;
	for(size=0;str[size]!='\0';size++);
	char* str=(char*)malloc(size*sizeof(char));
	char* str1=(char*)malloc(2*size*sizeof(char));
	for (i=0;i<size;i+=2){
		str1[i]=str[i];
		str1[i+1]=str[i];
	}
	return str1;
}
int main(){
	char str[100],str1[200];
	gets(str);
	puts(doubleString(str));
	getch();
}

Последний раз редактировалось Вадим Мошев; 06.01.2017 в 00:26.
Crazy_Fixik вне форума Ответить с цитированием
Старый 05.01.2017, 17:27   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

для str1[i] надо не і использовать a size_str1 и каждый раз увеличивать. набросок
Код:
for (i=0;i<size;i++){
		str1[size_str1]=str[i];
size_str1++;
		str1[size_str1]=str[i];
size_str1++;
	}
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
строки:заменить каждый символ '/' на пару символов ': ' Lers Общие вопросы C/C++ 4 16.05.2013 11:24
Функция неправильно возвращает строку(С++) tolikprankster Помощь студентам 4 10.02.2013 20:08
Функция возвращает пустую строку Chikoy Общие вопросы Delphi 6 18.05.2012 07:18
Получить из данной строки новую строку, в которой каждый символ продублировать grev_4 Паскаль, Turbo Pascal, PascalABC.NET 3 27.12.2010 23:42
Удвоить каждый символ строки, потом перевернуть строку Didi Помощь студентам 6 20.05.2008 15:33