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

Определить слово с наибольшим вхождением заданного символа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа читает 16 элементов, а в бинарном файле их 15! http://www.cyberforum.ru/cpp-beginners/thread695028.html
#pragma hdrstop #include <stdio.h> #include <conio.h> #include <string.h> #include <Assert.h> #include "sumsorting.h" const int ELEMENT_COUNT = 100;
C++ метод пузырька не работает, выдает ошибку при запуске. Undefined symbol _main in module c0.ASM подскажите пожалуйста как исправить? #include <stdio.h> #include <conio.h> #include <iostream.h> void... http://www.cyberforum.ru/cpp-beginners/thread695016.html
Как переделать исходник в оконное приложение C++
Ребята написал исходник, только вот не могу сделать для него оконное приложение, пытался но как то не выходит, надо сделать кнопки "ввести х,у" ....."удалить х,у" потом кнопка "решение уровнения "...
GetFileAttributes C++
помогите когда использую функцию GetFileAttributes возникает ошибка #include "stdafx.h" #include <iostream> #include <windows.h> using namespace std; int _tmain(int argc, _TCHAR* argv)
C++ fwrite не записывает четырехзначное число в бинарный файл http://www.cyberforum.ru/cpp-beginners/thread694980.html
Кодик: //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <stdio.h> #include <conio.h> #include <string.h> char*...
C++ Нужно сделать алгорит в цикле a_n=1/2^n +1/3^n подробнее

Показать сообщение отдельно
SSSprinter
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 34
20.01.2013, 13:31  [ТС]
I.M.,
а если я вот таким образом ищу через strchr можно ли сделать, чтобы находилось слово с максимальным числом вхождением символа? а то моя программа находит все слова с этим символом.
Кликните здесь для просмотра всего текста
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
72
73
74
75
#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;    /*чтобы не писать каждый раз std::cin*/ 
HANDLE hStdout; 
///-----------Функция для отображения русских букв-----------///
char bufRus[256];
 
char* Rus(const char* text)
{
CharToOemA(text,bufRus);
return bufRus;
}
////////////////////////////////////////////////////////////////
 
int _tmain(int argc, _TCHAR* argv[])
{   
//  setlocale(LC_ALL,"Rus");                    /*для отображенения русского языка*/
    hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
    SetConsoleTextAttribute(hStdout, BACKGROUND_INTENSITY); 
    FILE *fp=fopen ("my_file.txt","r");         /*открытие файла на чтение (относительный путь файла)*/
    if (NULL == fp)                             /*проверяем наличие файла*/
    {   
        SetConsoleTextAttribute(hStdout,12);    /*задаём цвет текста*/
        printf (Rus("Не удалось открыть файл!\n"));
        return 0;   
    }
    
    char str[1024] = "";                        /*переменная, куда читать файл*/
    int i=0;
    while (!feof (fp)) //проверка признака конца файла
    {
    str[i]=fgetc(fp);
    SetConsoleTextAttribute(hStdout, 11);
    printf("%c", str[i]);
    i++;    
    }
 
    fclose(fp);                                 /*закрытие соединения с файлом*/
 
    printf(Rus("\n\n"));
    SetConsoleTextAttribute(hStdout,14);
    printf(Rus("Введите символ или букву на английском языке\nПрограмма определит слово с наибольшим вхождением заданного символа\n"));
    SetConsoleTextAttribute(hStdout,12);
 
 
    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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru