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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2010, 13:37   #1
Lag
Пользователь
 
Регистрация: 01.05.2010
Сообщений: 10
Сообщение Инверсия в словах

В задании проги надо перевернуть символы в словах, которые находяться в текстовом файле и записать их в этот же файл. Планнировал запихивать строки в массивы, искать слова, потом слова "заворачивать" в массивы, а там переворачивать. У меня сделано всё черезвычайно криво и не работает, да и пробег по строкам файла не реализован. Если поможете реализовать хотя бы часть буду оч признателен. П.С. В проге нельзя использовать использовать контейнеры и алгоритмы STL (<string>, <vector>, <map>, ...)
Вот моё "творение"
Код:
void func1 (int argc, char *argv[]) 
{ 
	FILE *fp; 
	char str[80];
	int wr;

	fp = fopen("c:\\Input.txt", "r+");
if (fp!=NULL)
{
char *stroka;
 stroka=fgets(str, 80, fp);


 for ( int i=0; i<80; i++) // Ishem slova
 {
	 int sim = stroka[i];
	 int m;
	 if(isspace(sim)) 
	 {
		 
		 char slovo[255]; 

gets(stroka);
strncpy(slovo, stroka, 255); 
		 
 m = i; 
 void perevorot()  // Perevorachivaem
 {
 for (int n=strlen(slovo);n>=0;n--)
 fwrite(slovo, sizeof(int), 1, fp);


 getchar();

 }
	 }
 }
 fclose(fp);
else 
printf("Cannot open file, error code: %d", errno);
}
Lag вне форума Ответить с цитированием
Старый 02.05.2010, 13:48   #2
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Подбей под себя

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

void Reverse(char String[]);

void main()
{
	// ----
	clrscr();
	// ----

	int IntMsg;

	char Msg[100];

	int  Space = 0 , NewLine = 0 , i;

	// ---------------------------------

	printf("// ----\n");

	i = 0;

	while ((IntMsg = getchar()) != '\n')
	{
		++Space; ++NewLine;

		if (IntMsg == ' ' || IntMsg == ' \n')
		{
			--Space; --NewLine;
		}

		Msg[i] = IntMsg;
		++i;
		Msg[i] = '\0';

	}

	printf("// ----\n");

	// ---------------------------------

	printf("\n// ----\n"); Reverse(Msg); printf("%s\n", Msg); printf("// ----\n");

	// ----
	getch();
	// ----
}

void Reverse(char String[])
{
	int i , j , Temp;

	for (i = 0, j = strlen(String) - 1; i < j; i++, j--)
	{ Temp = String[i]; String[i] = String[j]; String[j] = Temp; }
}

Последний раз редактировалось coNsept; 02.05.2010 в 13:50.
coNsept вне форума Ответить с цитированием
Старый 02.05.2010, 15:27   #3
Lag
Пользователь
 
Регистрация: 01.05.2010
Сообщений: 10
По умолчанию

Мне String`ом пользоваться нельзя ((
Lag вне форума Ответить с цитированием
Старый 02.05.2010, 15:34   #4
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Если тебя так смущает имя аргумента, хорошо

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

void Reverse(char rMessage[]);

void main()
{
	// ----
	clrscr();
	// ----

	int InputMsg;

	char Msg[100];

	int  Space = 0 , NewLine = 0 , i;

	// ---------------------------------

	printf("// ----\n");

	i = 0;

	while ((InputMsg = getchar()) != '\n')
	{
		++Space; ++NewLine;

		if (InputMsg == ' ' || InputMsg == ' \n')
		{
			--Space; --NewLine;
		}

		Msg[i] = InputMsg; ++i; Msg[i] = '\0';
	}

	printf("// ----\n");

	// ---------------------------------

	printf("\n// ----\n"); Reverse(Msg); printf("%s\n", Msg); printf("// ----\n");

	// ----
	getch();
	// ----
}

void Reverse(char rMessage[])
{
	int i , j , Temp;

	for (i = 0, j = strlen(rMessage) - 1; i < j; i++, j--)
	{ Temp = rMessage[i]; rMessage[i] = rMessage[j]; rMessage[j] = Temp; }
}

Последний раз редактировалось coNsept; 02.05.2010 в 15:42.
coNsept вне форума Ответить с цитированием
Старый 02.05.2010, 15:52   #5
Lag
Пользователь
 
Регистрация: 01.05.2010
Сообщений: 10
По умолчанию

Спасибо, будем смотреть
Lag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Инверсия слов в строке. С++ Dest Общие вопросы C/C++ 3 17.05.2009 17:58
Инверсия в двухмерной матрице. Паскаль Safary Помощь студентам 3 27.11.2008 17:49
Инверсия Witaliy Общие вопросы Delphi 2 12.05.2008 19:23
Инверсия цвета Dj_smart Общие вопросы Delphi 6 08.05.2008 16:29