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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SSSprinter
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 34
#1

подскажите функцию, которая будет записывать в переменную число букв содержащихся в слове, соответствующих введенной букве - C++

23.12.2012, 14:48. Просмотров 416. Ответов 4
Метки нет (Все метки)

Добрый день! подскажите функцию, которая будет записывать в переменную число букв содержащихся в слове, соответствующих введенной букве. слова содержаться в файле, содержимое которого я до этого вывожу на экран

Добавлено через 7 минут
вот код, но с ним программа выводит общее количество совпадений в тексте.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    char ch = 0;
    ch = getch(); /*запрашиваем 1 символ с клавиатуры*/ 
    printf("%c", ch); /*выводим символ на экран*/
    printf(("\n"));
    int sovp=0;
 
    for (int index=0; index<= sizeof(str); index++)
    {
    if (str[index] == ch) sovp++;
    }
 
        printf(Rus("\nсовпадений в тексте:  ")); 
        printf ("%i\n", sovp); //*выводим символ на экран*
мне же надо, чтобы если в слове встречается введенная буква, то необходимо записать число совпадений в слове, и дальше проверять все слова, если встречается совпадение, сравнивать число совпадений, и если оно больше, то перезаписывать это число.
но я не знаю какую функцию использовать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2012, 14:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос подскажите функцию, которая будет записывать в переменную число букв содержащихся в слове, соответствующих введенной букве (C++):

Сделать программу которая будет записывать разные значения в переменную типа integer - C++
Пользователь должен вводить различные параметры, например количество масок = 3, номер ошибки= 13 , номер маски = 117 и все они должны...

Написать программу, которая будет подсчитывать количество гласных букв в строке, введенной с клавиатуры. - C++
:wall: help

Дано простое число. Составить функцию, которая будет находить следующее за ним простое число - C++
Дано простое число. Составить функцию, которая будет находить следующее за ним простое число

Дано простое число. Составить функцию, которая будет находить следующее за ним простое число. - C++
6.2.2. Помогите, пожалуйста, решить задачи в С++ с помощью функций. Дано простое число. Составить функцию, которая будет находить...

Дано простое число. Составить функцию,которая будет находить следующее за ним простое число. - C++
дано простое число.составить функцию,которая будет находить следующее за ним простое число.

Дано простое число. Составить функцию, которая будет находить следующее за ним простое число - C++
Дано простое число. Составить функцию, которая будет находить следующее за ним простое число.

4
D1353L
3 / 3 / 0
Регистрация: 30.10.2012
Сообщений: 11
24.12.2012, 00:15 #2
Для отделения слов используй strtok

Добавлено через 8 часов 43 минуты
если сам не разберешься, могу скинуть код
1
SSSprinter
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 34
26.12.2012, 14:45  [ТС] #3
D1353L,
скинь пожалуйста, если не трудно.
по поводу программы: оказывается, тут должно быть даже 4 переменных
0
D1353L
3 / 3 / 0
Регистрация: 30.10.2012
Сообщений: 11
26.12.2012, 17:54 #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
39
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
int main()
{setlocale(LC_ALL, "Russian");
 
char *String, Temp[1000], *token, ch;
int i, Max=0, N;
 
cout << "Введите строку: ";
cin.getline(Temp, 1000);
 
String=new char[strlen(Temp)+1];
strcpy(String, Temp);
 
cout << "Введите искомый символ: ";
cin.get(ch);
 
 
token=strtok(String, " ,.;!?");
 
while (token !=NULL)
{
    N=0;
    for (i=1; token[i] !=NULL; i++)
    {
        if (token[i]==ch) N++;  
    }
    if (N>Max) Max=N;
 
    token = strtok(NULL, " ,.;!?");
}
 
cout << Max;
_getch();
return 0;
}
Добавлено через 5 минут
Для работы с файлом сам подправишь
1
SSSprinter
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 34
27.12.2012, 01:54  [ТС] #5
пока только получилось через scanf выводить вообще все слова, в которых встречается этот символ
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include "stdio.h"  
#include "stdafx.h"
#include "stdlib.h"
#include <string.h>     
#include "iostream"     
#include <windows.h>    
#include <conio.h>      
#include <ctype.h>
#include <locale.h>
#include <clocale>
#include <cstring>
using namespace std;
 
 
char bufRus[256];
 
char* Rus(const char* text)
{
CharToOemA(text,bufRus);
return bufRus;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{   
 
    FILE *fp=fopen ("my_file.txt","r");         
    if (NULL == fp)                             
    {   
        printf (Rus("Не удалось открыть файл!\n"));
        return 0;   
    }
    
    char str[1024] = "";                        /*переменная, куда читать файл*/
    int i=0;
    while (!feof (fp)) //проверка признака конца файла
    {
    str[i]=fgetc(fp);
 
    printf("%c", str[i]);
    i++;    
    }
 
    fclose(fp);                     
 
    printf(Rus("\n\n"));
 
    printf(Rus("Введите символ или букву на английском языке\nПрограмма определит слово с наибольшим вхождением заданного символа\n"));
 
 
    char a; //переменная, хранящая введенный символ
    char b; //переменная, где храниться слово, в котором содержится наибольшее число раз введенный символ
    int n=1;  //количество символов в слове, совпадающих с введенным
    cin>>a;
    printf("\n");
    fp=fopen ("my_file.txt","r");
    while((fscanf (fp,"%s",str))!=EOF) /*%s - прочитать строку*/
//fscanf (stream, format-string [, argument ...]) Функция fscanf считывает данные из текущей позиции потока stream в место, определяемое заданием аргументов arguments (если они есть)
    {
        if(strchr(str,a)) /*Функция strchr() возвращает указатель на местонахождение первого совпадения с символом c в строке s ... а если символ не найден, то возвращают NULL*/
        {
            cout<<str;
            printf("\n");
            n=0;
        }
    }
    if(n==1) printf(Rus("Введенный символ отсутсвует\n"));
 
 
    return 0;
}
0
27.12.2012, 01:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2012, 01:54
Привет! Вот еще темы с ответами:

Cделать отдельную функцию, которая будет выводить число подсчитанное в предыдущей - C++
вопрос возник заключается в том что как сделать отдельную функцию которая будет просто выводить число которое было подсчитано в предыдущей....

Создать строку, которая будет содержать набор символов содержащихся в файле - C++
Открыть файл, имя которого задается с клавиатуры. Создать строку, которая будет содержать набор символов содержащихся в файле (каждый...

Как написать функцию, которая подсчитывает число прописных и строчных букв в строке? - C++
Как написать функцию, которая подсчитывает число прописных и строчных букв в строке? В С++ Добавлено через 19 часов 9 минут Ну...

Написать функцию которая будет записывать в файл по убыванию значения в одном из полей - C (СИ)
здраствуйте помогите пожалуйста написать функцию которая будет записывать в файл по убыванию значения в одном из полей вот структура ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru