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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Сергей 61
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 51
#1

синтаксис - C++

08.12.2013, 15:47. Просмотров 1959. Ответов 16
Метки нет (Все метки)

Только начали изучать С++. До этого писали на Pascal в Lazarus и Delphi. Подскажите, пожалуйста, как правильно задать промежуток в C++, например, '0'..'9'?.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 15:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос синтаксис (C++):

Синтаксис - C++
Кусок кода на C++. Помогите разобраться что означает в данном случае последовательность символов "|=" ? UDF_RC CForm1Class::CForm1(...

Синтаксис - C++
Просмотрел несколько видеоуроков на ютюбе, пользователь использовал строки char s и char *s. Собственно вопрос, в чем различие если имеется...

Синтаксис - C++
int x = 5; 0 = x+x; Что это такое и почему после этого x равно 10 ? Не понимаю вообще записи. Даже если предположить что x == 0...

Синтаксис в c++ - C++
Для чего в описание класса используется ":: "?

Непонятен синтаксис - C++
Доброго времени суток! Хотелось бы попросить вашего совета. код double **E = new double *; в данном отрывке...

Синтаксис языка - C++
Добрый день,хочу научиться языку C++,но все время у меня в голове весят вопросы по типу "Что означает это","А что это" и т.п. Допустим в...

16
Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
08.12.2013, 15:48 #2
если вы про цикл то
C++
1
for(i=0; i<9;i++)
0
Сергей 61
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 51
08.12.2013, 15:53  [ТС] #3
нет, не цикл. На Pascal это было бы так: case <переменная> of
'0'..'9': ;
0
Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
08.12.2013, 15:55 #4
Хм...небыло такого в с++. Напишите задачу которая перед вами стоит. (Конкретный пример).
0
Сергей 61
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 51
08.12.2013, 15:57  [ТС] #5
1. Дано 2 символа. (Char). Сколько из них цифр.
#include <iostream>

using namespace std;

int main()
{
char a,b; int kol=0;
cout << "Enter the fist symbol or number ";
cin >>a;
cout <<"Enter the second symbol or number ";
cin >>b;
if (a>=0&&a<=9)++kol;
if (b>=0&&b<=9)++kol;
cout <<"kol="<<kol;
return 0;
}
Я написал так, но количество пишет 0. Поэтому думал написать через промежуток.
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
08.12.2013, 16:01 #6
C++
1
2
if (a >= '0' && a <= '9')++kol;
if (b >= '0' && b <= '9')++kol;
1
Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
08.12.2013, 16:01 #7
Сергей 61, Меняйте то что вам нужно в цикле где переменная будет меняться от 0 до 9. Т.к. пол года почти связываю свою учебу с С++, но никаких промежутков не слышал не разу. Они бы здорово приголились конечно.
1
lpvoid
322 / 305 / 17
Регистрация: 06.03.2013
Сообщений: 869
08.12.2013, 16:04 #8
Сергей 61, финт ушами:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
 
int main() {
    std::string a;
    int count = 0;
    std::cin >> a;
 
    std::for_each(a.begin(), a.end(), [&count](char c) {
        if (isdigit(c))
            count++;
    });
 
    std::cout << count << std::endl;
}
Добавлено через 29 секунд
Relike, нет промежутков в с++.
2
Relike
6 / 6 / 0
Регистрация: 24.04.2013
Сообщений: 260
08.12.2013, 16:04 #9
lpvoid, Я знал!
0
lpvoid
322 / 305 / 17
Регистрация: 06.03.2013
Сообщений: 869
08.12.2013, 16:05 #10
по-человечески итераторами:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <algorithm>
#include <cctype>
 
int main() {
    std::string a;
    int count = 0;
    std::cin >> a;
 
    for (std::string::iterator i = a.begin(); i < a.end(); i++) {
        if (isdigit(*i))
            count++;
    }
 
    std::cout << count << std::endl;
}
2
Сергей 61
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 51
08.12.2013, 16:07  [ТС] #11
aslav22, спасибо, заработало.
0
lpvoid
322 / 305 / 17
Регистрация: 06.03.2013
Сообщений: 869
08.12.2013, 16:07 #12
хотя промежутки можно заменить так:
C++
1
if(i >= 0 && i <= 30) { /* ... */ }
будет аналогично:
Delphi
1
2
if i in 0..30 then begin
(* ... *)
1
Сергей 61
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 51
08.12.2013, 16:10  [ТС] #13
До этого я еще в C++ не дошел)), но все равно, спасибо!
0
HidForce
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,602
08.12.2013, 16:12 #14
Сергей 61, еще возможен такой вариант
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
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
 
    char Symbols[2];
    char Numbers[10] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
    int Num = 0;
 
    cout << "Введите два символа: " << endl;
    for (int i = 0; i < 2; i++)
        cin >> Symbols[i];
 
    for (int i = 0; i < 2; i++)
        for (int j = 0; j < 10; j++)
        {
            if (Symbols[i] == Numbers[j])
                Num++;
        }
 
    cout << "Количество цифр: " << Num << endl;
 
    return 0;
}
2
max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208
08.12.2013, 16:14 #15
С промежутками жаль, но cctype тащит
2
08.12.2013, 16:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2013, 16:14
Привет! Вот еще темы с ответами:

Непонятный синтаксис. - C++
В VC 2010 вместо int main(int argc, char *argv) написано int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpcmdline,...

Объясните синтаксис! - C++
Часто встречаю в интернете в листингах подобные записи, сама так не пишу, хочется разобраться что это значит?? int N = ( i==0 ? 0 :...

Деревья синтаксис - C++
Добрый день! Есть вот такая штука по деревьям.в case проблема.он орет,что &quot;too few parameters in call to&quot; public: void create(); ...

Новый синтаксис using в C++11 - C++
зачем напридумывали лишних слов?


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

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

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