Форум программистов, компьютерный форум CyberForum.ru

Дан текстовый файл F. Найти, сколько раз встречается в нем слово S - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 5.00
Gram
0 / 0 / 0
Регистрация: 02.12.2008
Сообщений: 4
02.12.2008, 14:52     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S #1
Просто без выходная ситуация надо решить задачи... Просто умоляю кто нибудь ПАМАГИТЕ!!!!!!!!!!!!
1)Дан файл F, содержащий сведения о кубиках: размер (длина его ребра), его цвет и материал. Найти количество кубиков данного цвета и их суммарный объем.

2)Дан текстовый файл F. Найти , сколько раз встречается в нем слово S.

3)Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть словами. Удалить из каждой группы идущих подряд более двух цифр, которой предшествует точка, все цифры начиная с третьей (например, 5+0.1234-98.54+123.4 преобразуется в 5+0.12-98.54+123.4).

4)Даны натуральное число N, действительные числа A1, …, AN. Заменить в последовательности A1, …, AN единицей числа, равные или превосходящие единицу, а нулем числа, меньшие единицы. Получить (1+R)/(1+S), где R – сумма всех членов последовательности, меньших единицы, S – сумма всех членов последовательности, равных или превосходящих единицу.

Ну очень надо выручите прошу ВАС....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2008, 14:52     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S
Посмотрите здесь:

Дан текстовый файл. Найти самое короткое слово. C++
Найти сколько раз в строке из 16 символов встречается слово "she" C++
C++ Сколько раз слово встречается в предложении
C++ Дан двумерный массив размером 13х12. Найти наибольший элемент массива и указать сколько раз он встречается в массиве
C++ Дан числовой массив. Определить, сколько раз в нем встречается максимальный по величине элемент.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
StarWorm
17 / 16 / 4
Регистрация: 20.11.2008
Сообщений: 81
02.12.2008, 17:16     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S #2
если очень надо, то пиши
382 шесть шесть шесть 671
решу за вознаграждение (небольшое)
Gram
0 / 0 / 0
Регистрация: 02.12.2008
Сообщений: 4
02.12.2008, 17:31  [ТС]     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S #3
блин у меня денег нет ваще просто критическая ситуация.... помагите люди очень вас прошу!!!!!
StarWorm
17 / 16 / 4
Регистрация: 20.11.2008
Сообщений: 81
02.12.2008, 19:03     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S #4
Ну в таком случае вряд ли кто возьмется помогать, коли ты вообще сам ничего делать не хочешь...
Ни день не зарабатываешь для оплаты труда, не сам свой труд делать не хочешь... Как то это неправильно, тебе не кажется?!
УЫЕУЕ
2 / 2 / 0
Регистрация: 04.11.2008
Сообщений: 37
02.12.2008, 19:24     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S #5
что у тебя есть хотя бы по 4ой (самой лёгкой) задаче?
если нет ничего - смотри предыдущее высказывание.... а лучше запомни и сделай выводы
Gram
0 / 0 / 0
Регистрация: 02.12.2008
Сообщений: 4
03.12.2008, 11:23  [ТС]     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S #6
Я уж сам решил 4-ую прогу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//---------------------------------------------------------------------------
#pragma hdrstop
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
 
 
//---------------------------------------------------------------------------
void main( )
{
 int N, i=0, S, R;
 float A[255], res;
 cout<<"vvedite kolichestvo chisel v peremenoi";
 cin>>N;
 while (i<N)
 {
 cout<<" vvedite peremenoe"<<endl;
 cin>>A[i];
 if (A[i]>=1)
  {
  i++;
  A[i]>=1;
  S++;
  }
  else
  {
  A[i]=0;
  i++;
  R++;
  }
 }
 res=(1+R)/(1+S);
 cout<<" poluchim "<<res;
getch();
}
//---------------------------------------------------------------------------
BornLeader
50 / 46 / 1
Регистрация: 16.05.2008
Сообщений: 162
03.12.2008, 12:25     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S #7
Цитата Сообщение от Gram Посмотреть сообщение
2)Дан текстовый файл F. Найти , сколько раз встречается в нем слово S.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
 
int main(void)
{
  ifstream infile("input.txt");
  string s;
  cout << "Input word: ";
  cin >> s;
  int Count = 0;
  string line;
  while(getline(infile,line))
  {
    char* p;
    p = strtok(const_cast<char*>(line.c_str())," ");
    if((p)&&(strcmp(p,s.c_str())==0)) 
      Count++;
    while(p = strtok(NULL," "))
      if(strcmp(p,s.c_str())==0)
        Count++;
  }
  cout << "count repeat = " << Count << endl;
  return 0;
}
BornLeader
50 / 46 / 1
Регистрация: 16.05.2008
Сообщений: 162
04.12.2008, 15:20     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S #8
Цитата Сообщение от Gram Посмотреть сообщение
3)Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть словами. Удалить из каждой группы идущих подряд более двух цифр, которой предшествует точка, все цифры начиная с третьей (например, 5+0.1234-98.54+123.4 преобразуется в 5+0.12-98.54+123.4).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <ctype.h>
#include <string>
using namespace std;
 
int main(void)
{
  string str = "5+0.1234-98.54+123.4";
  cout << str << endl;
  for(size_t i=0;i<str.size();i++)
  {
    if(str[i]=='.')
    {
      string tmp;
      size_t j = i;
      while(isdigit(str[++j]))
        tmp += str[j];
 
      if(tmp.size()>2)
      {
        strcpy(&str[i+3],&str[i+1+tmp.size()]);
        str.resize(str.size()-tmp.size()+2);
      }
    }
  }
  cout << str << endl;
  return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2014, 17:48     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S
Еще ссылки по теме:

C++ Заполнить массив случайными цифрами от 1 до 9, посчитать сколько раз в нем встречается
C++ Найти, сколько раз слово встречается в строке

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Evge_n
0 / 0 / 0
Регистрация: 11.12.2014
Сообщений: 14
11.12.2014, 17:48     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S #9
Я понимаю, что тема старая, но позволю себе побыть шаманом с бубном и воскресить её Попалась мне контрольная работа с похожими заданиями, в частности с заданием про вычитание цифр. Проанализировав код программы и откомпилировав код возник ряд вопросов, которые хотелось бы прояснить:

1. После компиляции и запуска программы выходит сообщение с ошибкой 1441, переполнение строковой переменной. Среда разработки VSExp 2010. Если убрать строку

C++
1
str.resize(str.size()-tmp.size()+2);
то ошибка не появляется. Насколько я понял приведённый выше код вполне логичен и должен при каждой итерации цикла уменьшать размер строковой переменной на то кол-во байт, которое удаляет строка
C++
1
strcpy(&str[i+3],&str[i+1+tmp.size()]);
. Почему тогда появляется ошибка?

2. Собственно не до конца понятен код удаления лишних символов
C++
1
strcpy(&str[i+3],&str[i+1+tmp.size()]);
. Если просто вывести значение str[i+3], то это будет третий символ после точки. Но с "&" выводится вся строка начиная с третьего символа. Про такое применение амперсанда относительно аргументов функции я не слышал. Знаю что он используется как унарный оператор вместе с указателем - возвращает адрес памяти.

3. До конца не разобравшись с предыдущим кодом, я решил написать что-то более понятное для меня, ну и внести своё слово в решение этой задачи Для этих благородных целей я нашёл в классе string функцию replace и написал такие строки кода:

C++
1
2
string emptystr("");
str.replace (str[i+3], tmp.size()-2, emptystr);
Здесь replace() передаётся как начальная позиция третий после точки символ, длинна фрагмента tmp.size()-2, заменяется на пустую строку. Вроде должно работать, но вывод мне совсем не понятен:

874736.1248723 fsfsfsf.sdfsdfds2331.dasf 423423434.sdfsdfsf.dfsdfsd.12//Моя исходная строка
874736.1248723 fsfsfsf.sdfsdfds2331.dasf 423423434.ssf.dfsdfsd.12// Вывод replace()

Подскажите, почему так получается? Заранее спасибо.
Yandex
Объявления
11.12.2014, 17:48     Дан текстовый файл F. Найти, сколько раз встречается в нем слово S
Ответ Создать тему
Опции темы

Текущее время: 14:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru