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

Обработка введенного символа. Итерационные циклы - C++

Войти
Регистрация
Восстановить пароль
 
Джин-ТоНиК
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 11
20.10.2012, 17:15     Обработка введенного символа. Итерационные циклы #1
Ребят...кто сможет помогите с задачами....По условию нужно:
1) Считать два символа и выдавать на экран сообщение, код какого из них больше.
2) Дано натуральное число n. Найти разность между первой цифрой этого числа и суммой всех остальных.
Заранее благодарю за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2012, 17:15     Обработка введенного символа. Итерационные циклы
Посмотрите здесь:

C++ итерационные циклы
C++ Обработка числовой информации. Итерационные алгоритмы. Циклы
C++ итерационные процессы и циклы в Visual Studio
Итерационные циклы C++
Итерационные циклы C++
C++ написать программу перевода введенного символа
C++ Удаление из строки символа, введенного пользователем
Функция проверки введенного символа C++
C++ Определить порядковый номер введенного символа
Определить тип введенного символа C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
filkloch
 Аватар для filkloch
9 / 9 / 1
Регистрация: 28.02.2011
Сообщений: 45
20.10.2012, 19:13     Обработка введенного символа. Итерационные циклы #2
Ну первое, если я правильно понял задание, то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
    char a;
    char b;
    cout << "Первое символ:";
    cin >> a;
    cout << "Второй символ:";
    cin >> b;
    if (a > b)
        cout << "Код ASCII первого числа больше" << endl;
    else
        if (b > a)
            cout << "Код ASCII второго числа больше" << endl;
        else
            cout << "Коды ASCII символов равны" << endl;
    return 0;
}
Добавлено через 39 минут
На второе я бы написал так:
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 <sstream>
 
using namespace std;
 
int main(int argc, char** argv) {
    int n = 9234;// Входное число
    
    stringstream ss_buf;
    stringstream ss_a_buf;
    stringstream ss_b_buf;
    
    //Инициализируем уменьшаемое первой цыфрой
    int a;
    ss_buf << n;
    ss_a_buf << ss_buf.str()[0];
    ss_a_buf >> a;
 
    //Создаём и инициализируем масив содержащий все остальные цифры
    int b_array[ss_buf.str().size() - 1];
    for (int i = 1; i < ss_buf.str().size(); i++) {
        ss_b_buf << ss_buf.str()[i];
        ss_b_buf >> b_array[i - 1];
        ss_b_buf.clear();
        cout << b_array[i - 1] << endl;
    }
    
    //Вычисляем сумму всех массива
    int b = 0;
    for (int i = 0; i < ss_buf.str().size()-1; i++)
        b = b + b_array[i];
    
    //Результат
    int result = a-b;
    
    cout << "Result:" << result << endl;
    
    return 0;
}
Джин-ТоНиК
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 11
20.10.2012, 20:06  [ТС]     Обработка введенного символа. Итерационные циклы #3
Спасибо большое:-)
Но вот второе задание слишком замудренные, первый раз такое вижу
stringstream ss_buf;
stringstream ss_a_buf;
stringstream ss_b_buf;

//Инициализируем уменьшаемое первой цыфрой
int a;
ss_buf << n;
ss_a_buf << ss_buf.str()[0];
ss_a_buf >> a;

//Создаём и инициализируем масив содержащий все остальные цифры
int b_array[ss_buf.str().size() - 1];
for (int i = 1; i < ss_buf.str().size(); i++) {
ss_b_buf << ss_buf.str()[i];
ss_b_buf >> b_array[i - 1];
ss_b_buf.clear();
cout << b_array[i - 1] << endl;
}
filkloch
 Аватар для filkloch
9 / 9 / 1
Регистрация: 28.02.2011
Сообщений: 45
20.10.2012, 20:44     Обработка введенного символа. Итерационные циклы #4
Входное число задано как int, а в программе надо оперировать с отдельными цифрами числа. Чтобы скопировать первую цифру входного числа n в переменную a, нужны такие мудрёные строчки:
Цитата Сообщение от filkloch Посмотреть сообщение
int a;
ss_buf << n;
ss_a_buf << ss_buf.str()[0];
ss_a_buf >> a;
Ну а тут:
Цитата Сообщение от filkloch Посмотреть сообщение
//Создаём и инициализируем масив содержащий все остальные цифры
int b_array[ss_buf.str().size() - 1];
for (int i = 1; i < ss_buf.str().size(); i++) {
ss_b_buf << ss_buf.str()[i];
ss_b_buf >> b_array[i - 1];
ss_b_buf.clear();
cout << b_array[i - 1] << endl; }
просто создаётся массив int (в конкретном случае из 3-х элементов) и заполняется оставшиемися цифрами(в конкретном случае:b_array[0] = 2; b_array[1] = 3; b_array[3] = 4). P.S Для того что бы потом легко их было сложить.
Джин-ТоНиК
0 / 0 / 0
Регистрация: 05.10.2012
Сообщений: 11
20.10.2012, 22:25  [ТС]     Обработка введенного символа. Итерационные циклы #5
Спасибо огромное за помощь:-)
Yandex
Объявления
20.10.2012, 22:25     Обработка введенного символа. Итерационные циклы
Ответ Создать тему
Опции темы

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