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

Строки в С++, не могу понять что неправильно в программе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Cформировать квадратную матрицу порядка n по заданному образцу http://www.cyberforum.ru/cpp-beginners/thread390891.html
Помогите пожалуйста
C++ std::ios::hex или std::ios.hex привет в коде встретил вот такую строчку ss.setf(std::ios.hex, std::ios::basefield); и на VS2008 это работает. Разве это не синтаксическая ошибка? http://www.cyberforum.ru/cpp-beginners/thread390886.html
C++ Вводятся две строки типа Слово1 Слово2...
Помогите, уважаемые программисты! Заранее спасибо. Вводятся две строки типа Слово1 Слово2. Необходимо исправить ошибки, связанные с неверным использованием прописных и строчных букв. Возможно появление десятичных цифр. В этом случае необходимо выдать сообщение об ошибке. Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
C++ Запрет ввода русских букв....
Ребят подскажите как сделать запрет на использование русских букв в консоли, т.е если вводишь русские буквы жмешь enter и программа выдает ошибку... Я знаю 1 способ через массив char ru={А...я}; for(...;....;...;) { if(...=="ru") return -1; } Но это как то громоздко, можно ли как то по-другому сделать?
C++ Создание строки динамически http://www.cyberforum.ru/cpp-beginners/thread390865.html
Есть задание: Дана строка символов, состоящаяиз произвольного текста, слова разделены пробелами. Вывести на экран порядковый номер слова минимальной длины и количество символов в этом слове. Я хочу создать временную строку, куда буду помещать слова, потом находить их длину с помощь strlen() Но почему-то на меня ругается компилятор, и я не могу понять в чем я не прав. Вот что он выдает:
C++ По заданным номеру масти и номеру достоинства карты определить полное название народ есть задания: 1. Мастям игральных карт условно присвоены слеующие порядковые номера: масти "пики" — 1,.масти "трефы" — 2, масти "бубны" — 3, масти "червы"— 4; а достоинству карт: "валету" — 11, "даме" — 12, "королю" — 13, "тузу" — 14 (порядковые номера карт остальных достоинств соответствуют их названиям: шестерка, девятка и т.п.). По заданным номеру масти m (1 m 4) и номеру достоинства... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
24.11.2011, 17:51
Chif, не захотел я править ваш алгоритм он мне не нравится, притом тестирование показало что алгоритм сбоит. Вот код попроще попробуйте
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
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    char str[1024];//Áóäåò ñîäåðæГ*ГІГј ââåäåГ*Г*ûé ГІГҐГЄГ±ГІ
    char buf[1024];//ГЃГіГґГґГҐГ° äëÿ str
    char *tok;
    char delim[] = " ,;.!?";//ÂîçìîæГ*ûå Г°Г*çäåëèòåëè ìåæäó ñëîâГ*ìè
    
    cout<<"Enter text : \n";
    cin.getline(str,1024,'\n');                      
    strcpy(buf,str);                               
 
    int i = 0, j, nWords = 0;//Áóäåò ñîäåðæГ*ГІГј ÷èñëî ñëîâ
    //1-Г© ГЇГіГ*ГЄГІ
    cout<<"Ishodnaya stroka: "<<str<<endl;
    tok = strtok(buf,delim);
    while(tok)
    {
        nWords++;
        tok = strtok(NULL,delim);
    }
    cout<<"Number words in string : "<<nWords<<endl;
    
    //Г‘Г*îâГ* ГЁГ*èöèГ*ëèçèðóåì ГЎГіГґГґГҐГ° Г¤Г*Г*Г*ûìè ГЁГ§ str
    strcpy(buf,str);
 
    //ÑîçäГ*ВёГ¬ Г¬Г*Г±Г±ГЁГў ñëîâ
    string tmp;
    string * pWords = new string[nWords + 1];
    tok = strtok(buf,delim);
    while(tok)
    {
        pWords[i] = tok;
        tok = strtok(NULL,delim);
        i++;
    }
 
    int nSame = 0;//×èñëî îäèГ*Г*êîâûõ ñëîâ
    //ÑîðòèðîâêГ* ïðÿìûì âûáîðîì
    //ГЇГ® 1-Г¬ ГЎГіГЄГўГ*Г¬ ñëîâ + ïîäñ÷¸ò îäèГ*Г*êîâûõ
    for(i = 0    ;i < nWords; i++)
    for(j = i + 1;j < nWords; j++)
    {
        if(tolower(pWords[j][0]) < tolower(pWords[i][0]))
        {
            tmp = pWords[i];
            pWords[i] = pWords[j];
            pWords[j] = tmp;
        }
        if(strcmp(pWords[i].c_str(),pWords[j].c_str()) == 0)
            nSame++;
    }
    cout<<"Sorted words\n";
    for(i = 0    ;i < nWords; i++)
        cout<<pWords[i]<<endl;
    cout<<"Number of same words : "<<nSame<<endl;
    delete [] pWords;
    system("pause");
    return 0;
}
Миниатюры
Строки в С++, не могу понять что неправильно в программе  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru