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

Тестовое задание на Junior C++ dev - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дальнейший путь http://www.cyberforum.ru/cpp-beginners/thread929241.html
Всем доброго времени суток. На данный момент прочитал 2 книги по С++ (Шилдт - руководство для начинающих и Лафоре - ооп в С++. Хотелось бы спросить совета в каком направлении двигаться дальше. С одной стороны хочется взглянуть на С#, с другой, возможно, имеет смысл углубить знания в С++. Что по вашему было бы правильнее для студента 2ого курса?
C++ Перевод из строки в число Подскажите в чем ошибка. Метод должен принимать строку в виде $456 654 456.36 и выдавать число типа double. double bMoney::getmoney() { unsigned int i; char Mass, Mass2; cout << "Введите сумму: "; cin.get(Mass, MAX); for(i = 0; i < strlen(Mass); i++) { switch (Mass) http://www.cyberforum.ru/cpp-beginners/thread929230.html
Задача "Натуральный ряд чисел" C++
(Время: 1 сек. Память: 16 Мб) Натуральные числа записаны в строку без каких-либо разделителей. Начало этой строки имеет вид 123456789101112131415161718192021… . Требуется написать программу, которая определит первое вхождение десятичной записи заданного числа N в этой строке. Входные данные Входной файл INPUT.TXT содержит заданное число N (1 <= N <= 104). Выходные данные
C++ Шаблоны
Есть два класса: #include <iostream> #include <string> #include <valarray> using namespace std; template <class T1, class T2> class Pair { private: T1 a;
C++ Вывод строки в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread929181.html
Тупень возвращается. Имеем функцию для чтения массива в обратном порядке. Смысл ясен, но требуются пояснения в деталях. void print_reverse(char *s) { size_t len = strlen(s); char *t=s + len - 1; // почему мы в правой части выражения к массиву s добавляем уменьшенную на единицу длину //// массива s ? почему мы складываем массив с числом ? while (t >= s) { printf("%c", *t);
C++ Задача "Сокобан" Ограничение времени: 5.0 секунды Ограничение памяти: 64 МБ Программист Стас на время отпуска устроился поработать в японскую компьютерную фирму Thinking Rabbit. Сначала идея казалась замечательной — и на халяву съездить за границу, и заработать, и набраться опыта у японских коллег. Но оказалось, что программисты без знания японского фирме не нужны, и Стаса отправили работать кем-то вроде... подробнее

Показать сообщение отдельно
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
26.07.2013, 22:11     Тестовое задание на Junior C++ dev
1, 2 и 4 в кратце решил бы так:
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
#include <iostream>
#include <vector>
#include <string>
#include <chrono>
#include <random>
#include <algorithm>
#include <functional>
#include <numeric>
#include <cstdint>
 
std::string to_binary(uint64_t x)
{
    std::string str;
    uint64_t mask = 1ull << 64 - 1;
    do {
        str.push_back( (x & mask ? '1' : '0') );
    } while ( mask >>= 1 );
    return str;
}
 
template <class T>
std::vector<T> generateUnique(T highest)
{
    static_assert(std::is_arithmetic<T>::value, "T must be arithmetic");
    std::vector<T> v(highest);
    std::iota(begin(v), end(v), T(1));
    std::shuffle(begin(v), end(v),
        std::mt19937(std::chrono::system_clock::now().time_since_epoch().count()));
    return v;
}
 
template <class T>
T getMissingValue(const std::vector<T> &v)
{
    static_assert(std::is_arithmetic<T>::value, "T must be arithmetic");
    return (1 + v.size()) * v.size() / 2 -
        std::accumulate(begin(v), end(v) - 1, T(0), std::plus<T>());
}
 
int main()
{
    std::cout << to_binary(255) << std::endl;
    auto v = generateUnique<int>(20);
    for (auto x : v)
        std::cout << x << ", ";
    std::endl(std::cout);
    v = {5, 7, 8, 3, 1, 9, 2, 6, 4};
    std::cout << getMissingValue(v);
    return 0;
}
 
Текущее время: 11:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru