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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2010, 12:41   #1
Makee
Новичок
Джуниор
 
Регистрация: 07.03.2010
Сообщений: 2
Сообщение не погу понять как удалить буквы из массссииива 7

тема задички такая

Дан текстовый файл F. Переписать в другой файл G все символы, отличные от букв и пробела.

вот что у меня получилось на vs c++

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
#define _CRT_SECURE_NO_DEPRECATE

int main()
{
setlocale ( LC_ALL , "Russian" );

printf ("Введите имя файла: ");
char z[2000];
scanf("%199s", z, 200);

FILE *f;
f = fopen ( "f.txt" , "rt");
if (f == NULL )
{
printf("Не могу открыть f.txt на запись.\n");
return -1;
}

fgets ( z, 2000, f);

char d[2000];
int i, j;

//удаление пробела

for(i = j = 0; z[i] != '\0'; i++)
if(z[i] !=' ')
d[j++] = z[i];
d[j] = '\0';

FILE *g;
g = fopen ( "g.txt", "wt+");
if (g == NULL)
{
printf( "Не могу открыть \"g.txt\" на запись.\n" );
return -2;
}

fputs (d , g);
_fcloseall();
printf( "Все сделано. Посмотрите \"g.txt\".\n" );
_getch();
}
Makee вне форума Ответить с цитированием
Старый 07.03.2010, 14:40   #2
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Код:
#include <cstdio>

const char *inname = "f.txt";
const char *outname = "g.txt";

bool correct(char ch)
{
	if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch == ' '))
		return false;
	else return true;
}

int main()
{
	char ch;
	FILE *fin,*fout;
	fin = fopen (inname,"rt");
	fout = fopen(outname,"wt");
	while(fscanf(fin,"%c",&ch) > 0 )
		if(correct(ch))
			fprintf(fout,"%c",ch);
	return 0;
}
p.s Код выделяй в тег [CODE]
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 08.03.2010, 08:36   #3
Makee
Новичок
Джуниор
 
Регистрация: 07.03.2010
Сообщений: 2
Хорошо

n1ce очень помог = ) а что за библиотека cstdio *?
Makee вне форума Ответить с цитированием
Старый 08.03.2010, 10:23   #4
k1r1ch
ACM!
Форумчанин
 
Аватар для k1r1ch
 
Регистрация: 19.06.2009
Сообщений: 382
По умолчанию

<cstdio> - это <stdio.h> для С++.
k1r1ch вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться в коде не погу понять где ошибка wagonwils Общие вопросы C/C++ 0 23.12.2009 21:02
СИ. Удалить слова, которые содержат все повторяющиеся буквы первого слова nick23 Помощь студентам 7 01.11.2009 14:47
в тексте удалить слова начинающиеся с заданой буквы Ananim-Pbl6ak Паскаль, Turbo Pascal, PascalABC.NET 9 26.05.2009 16:39
не могу понять как решать(( что и как(( дурачок же я )) durachok) Паскаль, Turbo Pascal, PascalABC.NET 0 25.12.2008 14:45
как удалить анти вирус( касперский 2006)если она не работает и ее не возможно удалить Alar Общие вопросы Delphi 0 29.10.2006 21:36