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

Проверить, есть ли слово в массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Серийный номер по Volume Name Guid http://www.cyberforum.ru/cpp-beginners/thread632814.html
Необходимо зная аппаратный серийный номер накопителя и его pid/vid узнать Volume Name Guid или наоборот, зная букву диска и Volume Name Guid узнать серийный номер.
C++ Switch или iif-else-if. Как исправить ошибку Не компилируется код. Говорит, что пропуск инициализации. Но мне нужно создать объекты определённого класса по выбору пользователя. Можно ли тут применить switch или прибегнуть к конструкции if-else-if? switch(ch){ case'1': myClass *ob = new myClass(); delete ob; case '2': myOtherClass *asd = new myOtherClass(); delete asd; http://www.cyberforum.ru/cpp-beginners/thread632796.html
В чем ошибка? (Строки. Массивы. Указатели) C++
Всем добрый вечер. Объясните пожалуйста в чём ошибка в строке с коментарием "ошибка" ? class CMyString{ char *pStr; ..... ..... public: CMyString(){
C++ Код не работает в VC++ 6.0 но работает в MSVC++ 2010
Что делать как перевести, ведь как мне кажеться должно быть подобно. Проблемма например в заполнении структуры void czRegClass(HINSTANCE hInst, int cmdShow) { WNDCLASS wc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hbrBackground = 0; wc.hCursor = LoadCursor(NULL, NULL);
C++ Нет декларации «EOF» в этой области видимости http://www.cyberforum.ru/cpp-beginners/thread632765.html
Это не упражнение, а просто пример задачи, но видимо в нёс есть какая-то ошибка и я хочу узнать какая На всякий пожарный заголовочный файл С.h #include <string> using std::string; class GradeBook {
C++ Создание переменной типа "чар" из последовательности бит 1. Получаю 8 чисел типа int '0' или '1'.То есть, например, 00101010 2. Как получить переменную типа char, двоичное значение которой будет этим самым 00101010 ? подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
04.08.2012, 13:10
Цитата Сообщение от Nikolaj50 Посмотреть сообщение
Нужна помощь. Вообщем , есть символьный массив , пользователь вводит слово и нужно проверить есть ли это слово в массиве по стоке,столбцам или же по диагонали т.е
k y e j l d t r
a e s f h j k l
q w e e y k i m
q t b p u i p i
пользователь введ допустим : keep
k y e j l d t r
a e s f h j k l
q w e e y k i m
q t b p u i p i
Заранее благодарен!
Вот с помощью STL
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <string>
#include <vector>
#include <fstream>
#include <iostream>
using namespace std;
 
int main()
{
    int i, j;//Счётчики
    int diag;//Будет содержать число диагоналей в которые помещается столбец
    string data;//Будет содержать символы столбца/диагонали
    string word;//Будет содеражть в себе слово из текста
    string line;//Будет содержать текущую строку текста
    vector<string> text;//Будет содержать в себе текст из файла (2D char массив)
    vector<string>::iterator it;//Это итератор - конструкция позвояющаяя работать
    //с конейнером как с массивом
    ifstream ifs("input.txt");//Инициализируем поток чтения для файла данных
    if(!ifs.is_open())
        cout<<"Error open input.txt\n";
    else
    {
        //Построчное чтение файла
        while(getline(ifs,line))
            text.push_back(line);//Добавляем строку в наш 2-мерный массив символов
        ifs.close();
        cout<<"\tText in file\n";
        //Вот цикл печати элементов вектора
        //сделал его просто дабы была понята роль итератора
        for(it = text.begin(); it < text.end()    ;it++)
        {
            for(i  = 0;         i < (*it).length();i++)
                cout<<(*it)[i]<<" ";//Печатаем [i] букву строки и пробел после неё
            cout<<endl;
        }
        cout<<"Enter word : ";cin>>word;
        cout<<"\tSearch in Columns\n";
        //проверка на случай если длинна слова больше длинны столбца
        if(text.begin() - text.end() < word.length())
            cout<<"Word length is more than length of text column\n";
        else//Поиск в столбцах
        for( j = 0           ;  j < word.length() ; j++)
        {
            data.resize(0);//Очищаем строку
            //Накапливаем строку с данными столбца
            for(it = text.begin(); it < text.end()    ;it++)
                data += (*it)[j];
            if(word.find(data,0) != -1)
                cout<<word<<" found in col     : "<<data<<endl;
            else
                cout<<word<<" not found in col : "<<data<<endl;
        }
        it = text.begin();
        line = (*it);
        cout<<"\tSearch in Rows\n";
        //проверка на случай если длинна слова больше длинны строки
        if(line.length() < word.length())
            cout<<"Word length is more than length of text row\n";
        else//Поиск в строках
        for(it = text.begin(); it < text.end()    ;it++)
        {
            if((*it).find(word,0) != -1)
                cout<<word<<" found in row     : "<<(*it)<<endl;
            else
                cout<<word<<" not found in row : "<<(*it)<<endl;
        }
        cout<<"\tSearch in Daigonals\n";
        //Получаем число диагоналей число символов в строке - число строк
        diag = line.length() - (text.begin() - text.end());
        if(diag < 0)
            diag = (-1)*diag;
        for(i = 0; i < diag; i++)
        {
            data.resize(0);//Очищаем строку
            //Накапливаем строку с данными диагонали
            if(text.begin() + i < text.end())
            {
                for(j = i; j < word.length(); j++)
                {
                    it = text.begin() + j;
                    data += (*it)[j];
                }
                if(data.find(word,0) != -1)
                    cout<<word<<" found in diag     : "<<data<<endl;
                else
                    cout<<word<<" not found in diag : "<<data<<endl;
            }
        }
    }
    return 0;
}
Миниатюры
Проверить, есть ли слово в массиве  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru