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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2010, 20:57   #1
ХреновыйПрогер
Пользователь
 
Регистрация: 17.11.2010
Сообщений: 16
По умолчанию Функция.

Доброе время суток! Вот написал, код программы которая разворачивает текст задом наперёд. Но вышла не задачка, оказалось надо написать как функцию, Прототип: char* reverse(char const* str);

вот сам код просто без функции:

Код:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
 
char s[100]; 
 
void main(void)
{
  for( ; ; )
  {
		int i, n, a, k;
		printf("Write text: ");
		gets(s);
		
		k = strlen(s);
		n = k-1;
  
			for (i = 0; i < k / 2; i++)
		{
			a = s[i];
			s[i] = s[n];
			s[n] = a;
			n--;
		
		}
			if(n==-1) 
			{
				printf("Exit\n");
				_getch();
				break;
			}
			printf("Result: %s \n",s);
	
  }
  
}
Может кто подсказать, как в функции использовать строки. Вот что я только написал, дальше не знаю, как быть с телом функции, подскажите пожалуйста, если не трудно.

Код:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

char reverse(char str);

void main(void)
{
	char s[100];
	printf("Write text:");
	gets(s);
	printf("Result:");
	reverse(s);
	

}

char reverse(char str)
{
	
	
	return 0;	
}
ХреновыйПрогер вне форума Ответить с цитированием
Старый 22.11.2010, 22:20   #2
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

Как нибудь так:
Код:
char* reverse(const char * str){
		
	char *rev=new char [strlen(str)];
	
	for(unsigned int i=0;i<strlen(str);i++) rev[i]=str[strlen(str)-1-i];

	return rev;	

}
P.S. Код писал здесь, так сто проверь на ошибки
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Старый 22.11.2010, 22:52   #3
ХреновыйПрогер
Пользователь
 
Регистрация: 17.11.2010
Сообщений: 16
По умолчанию

Спасибо, но чёт как то не выходит ни чего..
ругается в этом месте
Цитата:
char *rev=new char [strlen(str)];
Говорит что точек с запятой не хватает
ХреновыйПрогер вне форума Ответить с цитированием
Старый 23.11.2010, 00:00   #4
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

Цитата:
Говорит что точек с запятой не хватает
Очень странно Представь полный код, а то так трудно что-либо сказать
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция Seferus Общие вопросы C/C++ 3 23.09.2010 02:08
Функция Get DarkDante Общие вопросы C/C++ 2 26.03.2010 22:23
Функция NeosPasha Помощь студентам 0 25.01.2010 13:01
Функция Sam04 Помощь студентам 1 11.09.2008 13:51
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50