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

Оцените решение задачи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Необработанное исключение по адресу http://www.cyberforum.ru/cpp-beginners/thread995355.html
Необработанное исключение по адресу...нарушение прав доступа при чтении по адресу... #include <iostream> #include <conio.h> #include <math.h> #include <clocale> using namespace std; ...
C++ Видео курсы по С++ РЕбят может кто знает где скачать хорошие видео курсы по С++ ? Буду благодарен за ссылку http://www.cyberforum.ru/cpp-beginners/thread995348.html
C++ Как ускорить работу (поиск вхождений подстроки)?
//подсчет kf int NumberKF(string &P, vector<string> & F, const int f){ int kf =0; for(size_t i = 0; i < f; ++i){ //обход по всем строкам for(size_t j = 0; j < F.size() - P.size() +1;...
C++ Друзья исправьте пожалуйста если что не так
Написать программу, которая переводит число из 2-й системы счисления в 8-ю, не переводя все число в 10-ю . Выполнить отладку программы с помощью какого–либо примера, подготовленного Вами на бумаге....
C++ Передача контейнера set в функцию http://www.cyberforum.ru/cpp-beginners/thread995300.html
Всем здравствуйте! Мне нужно написать функцию которая будет выводить всю информацию которая хранится в контейнере set. Пробовал передавать как обычную переменную, не получилось. В интернете...
C++ Пояснить устройство цикла Я учусь на программиста уже третий месяц, но до сих пор не понимаю основ. Проблема преподов в том, что они объясняют материал для тех, кто уже программировал. Но мне не понятно самое элементарное.... подробнее

Показать сообщение отдельно
landgen
1 / 1 / 0
Регистрация: 20.03.2013
Сообщений: 77

Оцените решение задачи - C++

02.11.2013, 13:11. Просмотров 386. Ответов 13
Метки (Все метки)

Наткнулся тут на задание по программированию, от нечего делать решил его сделать на C++. Человеку его задали в университете, а я там никогда не учился, да и в С++ я новичок. Не знаю, в общем, как принято решать такие задания.
Один ньюанс: я пока не умею работать с многофайловыми программами (лол), поэтому немного переделал задание. Без файлов, просто пользователь вводит строку, вводит, если хочет, символы # и $ а потом программа показывает ему, что получилось.

Оцените, пожалуйста, у кого есть время, решение задачи. В правильном направлении хоть мыслю? Можно такое было бы с чистой совестью показать преподавателю?
Кликните здесь для просмотра всего текста

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
#include <iostream>
#include <string>
#include <windows.h>
#include <conio.h>
using namespace std;
 
bool itsletter (int);
 
int main()
{   
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    char var[101];
    bool stopit = false;
    int temp = 0,
        position = 0;
 
    cout << "Введите исходную строку: ";
    // будем принимать от пользователя символы до тех пор, пока он не нажмёт enter
    while(stopit != true){
        
        temp = _getch();
        // если нам ввели букву, то запишем её в массив
        if (itsletter(temp)){
            cout << static_cast<char>(temp);
            var[position] = temp;
            position++;     
        }
        // если пользователь ввёл #
        else if (temp == 35){
            if (position!=0) position--;
            cout << "#";
        }
        // если пользователь ввёл $
        else if (temp == 36){
            if (position!=0){
                var[position] = var[position-1];
                position++;
            }
            cout << "$";
        }
        // если пользователь ввёл enter
        else if (temp == 13){
            cout << "\n";
            stopit = true;
        }
    }
    // выводим получившееся на экран
    cout << "Вот ваша строка: ";
    for (int j = 0; j < position; j++){
        cout << var[j];
    } 
    _getch();
    return 0;
}
 
// функция itsletter, сверяет полученный аргумент с массивом из ASCII-кодов русских и английских
// букв, и, если находит совпадение, то возвращает true
 
// вообще-то, в массиве нету кроме букв ничего, поэтому программа не позволит нам ввести символы
// вроде "!, №, %" итд, но я поленился вписывать их ASCII-коды в массив
bool itsletter (int variable){
    int letters[117] = {     113,97,122,119,115,120,101,100,99,114,102,118,116,103,98,
                             121,104,110,117,106,109,105,107,111,108,112,233,246,243,
                             234,229,237,227,248,249,231,245,250,244,251,226,224,239,
                             240,238,235,228,230,253,255,247,241,236,232,242,252,225,
                             254,201,212,223,214,219,215,211,194,209,202,192,204,197,
                             207,200,205,208,210,195,206,220,216,203,193,217,196,222,
                             199,198,213,221,218,81,65,90,87,83,88,69,68,67,82,70,86,
                             84,71,66,89,72,78,85,74,77,73,75,79,76,80,8};
    bool result = false;
    for (int j = 0; j < 117; j++){
        if (variable == letters[j]) result = true;
    }        
    return result;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru