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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2008, 00:30   #1
DJ BlackWolF
 
Регистрация: 04.12.2008
Сообщений: 6
По умолчанию Работа со строками и файлами

З помощю текстового редактора создать файл *dat длиной до 1000 символов. Написать программу которая определяет количество слов в файле которие заканчиваютса на словосочетание введёное с клавиатуры. Количество этих слов вывести на екран.
Это типа на работу с файлом.

моё пояснение условия:
вобшем есть текстовый файл с расшырением dat, например xxx.dat.
например: "Ваня и Аня пошли в кино"

програмка просит ввести какой то набор символов.
ми вводим например "ня"
"Ваня и Аня пошли в кино" она в 2х местах находит слово которое заканчиваетса на "ня" и выводит на екран 2
DJ BlackWolF вне форума Ответить с цитированием
Старый 04.12.2008, 00:31   #2
DJ BlackWolF
 
Регистрация: 04.12.2008
Сообщений: 6
По умолчанию

Код:
#include<stdio.h> 
#include<stdlib.h> 
#include<string.h> 
#include <fstream> 
#define MAX_BUFSIZE g 
int main() 
{ char s[20],text[1000],text2; 
int g=-1,a=0,k=0,t=0,p=0; 
FILE *x=fopen("C:\xxx.dat","rt"); 
scanf("%s",&s); 
a=strlen(s); 
while(!feof(x)){ 
fscanf(x,"%c",&text2); 
g++;} 
char buf[MAX_BUFSIZE]; 
std::ifstream input("C:\xxx.dat"); 

while (input.getline(buf, MAX_BUFSIZE)) 
{ 
//... 
} 

for(int i=0;i<g;i++) 
text[i]=buf[i]; 
p=a; 
for(int i=0;i<g;i++) 
{k=0; 
if(text[i]==' ') 
{ 
for(int j=0;j<a;j++) 
{if(text[i-p]==s[j]) 
k++; 
p--;} 
if(k==a) 
t++;} 
} 
fclose(x); 
for(int i=0;i<g;i++){ 
printf("%c",text[i]); 
} 
printf("%d",a); 
system("pause"); 
}
Модератор: юзаем тег CODE

Последний раз редактировалось MaTBeu; 04.12.2008 в 13:40.
DJ BlackWolF вне форума Ответить с цитированием
Старый 04.12.2008, 00:34   #3
DJ BlackWolF
 
Регистрация: 04.12.2008
Сообщений: 6
По умолчанию

прогу писал на DEV C++. У меня она не верно считает. Помогите мне пожалуйста, очень нужно на завтра, могу из-за этой проги иметь большые проблемы. Виручите меня
DJ BlackWolF вне форума Ответить с цитированием
Старый 04.12.2008, 01:18   #4
filosof_x86
...
Форумчанин
 
Аватар для filosof_x86
 
Регистрация: 01.06.2008
Сообщений: 134
По умолчанию

Код:
#include <iostream>
#include <fstream>
#include <string>

int main()
{
	std::string word, end;
	std::size_t count = 0;
	std::ifstream file("in.dat");
	if(file) {
		std::cin >> end;
		const std::size_t len = end.length();
		while(file >> word) {
			if(!word.compare(word.length()-len, len, end)) ++count;
		}
		file.close();

		std::cout << count << std::endl;
	}
}
filosof_x86 вне форума Ответить с цитированием
Старый 04.12.2008, 02:21   #5
DJ BlackWolF
 
Регистрация: 04.12.2008
Сообщений: 6
По умолчанию

Код:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <fstream>
int main()
{   char s[20],text[1000],text2;
char str1[20];
char str2[20];
str1[0]='\0';
str2[0]='\0';
    int g=-1,a=0,k=0,t=0,p=0;
    FILE *x=fopen("xxx.dat","rt");
    scanf("%s",&s);
    a=strlen(s);
     while(!feof(x)){
fscanf(x,"%c",&text2);
g++;}
char buf[g];
  std::ifstream input("xxx.dat");

  while (input.getline(buf, g))
    {
    //...
  }
int k2 =0;
for(int i=0;i<g;i++)
  text[i]=buf[i];
  p=a;

for(int i=0;i<g;i++)
{k=0;
if(text[i]==' ')
{

while(a)
{
str2[0]=text[i-a];
str2[1]='\0';
strcat(str1,str2);
a--;
}
if(!strcmp(str1,s))t++;
a=p;
str1[0]='\0';
str2[0]='\0';
}

}
fclose(x);
printf("%d\n",t);
system("pause");
}
Модератор: тег CODE

Последний раз редактировалось MaTBeu; 04.12.2008 в 13:41.
DJ BlackWolF вне форума Ответить с цитированием
Старый 05.12.2008, 01:08   #6
DJ BlackWolF
 
Регистрация: 04.12.2008
Сообщений: 6
По умолчанию

МД, обясни что за тег? я С++ 3 месяца учу
DJ BlackWolF вне форума Ответить с цитированием
Старый 05.12.2008, 01:11   #7
DJ BlackWolF
 
Регистрация: 04.12.2008
Сообщений: 6
По умолчанию

ой, сори... просто вчера зарегался.
Код:
код
DJ BlackWolF вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на работу с файлами и строками MiH@N Помощь студентам 8 24.06.2008 00:44
[С++]работа со строками Федор Помощь студентам 6 23.12.2007 12:35
РАБОТА СО СТРОКАМИ kluwa Общие вопросы C/C++ 7 20.12.2007 18:30
Работа с файлами и строками. mituhin Общие вопросы C/C++ 1 06.12.2007 12:53