Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
2 / 2 / 4
Регистрация: 28.09.2013
Сообщений: 407

Нужны задачи для решения

24.08.2014, 23:17. Показов 4626. Ответов 52
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Если здесь есть студенты-программисты, то очень попрошу их сбросить сюда задания по С++, потому что все свои уже перерешал.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.08.2014, 23:17
Ответы с готовыми решениями:

Нужны задачи для их решения
Здравствуйте. Нужны задачи для закрепления изученного материала. Что интересует(с чем я могу работать(база)): ...

Нужны задачи для тренировки
Здравствуйте киньте пожалуйста задания по с++ для человека начинающего изучать Turbo с++

Нужны задачи для тренировки
Киньте задачки на классы......а то в самоучителе, по которому я учу Сишку....приведены задачки, касающиеся только математики.....сами...

52
26.08.2014, 08:57
Студворк — интернет-сервис помощи студентам

Не по теме:

Тема хорошо развивается и без ТС, который больше не появлялся в теме :D

0
10 / 10 / 0
Регистрация: 18.08.2014
Сообщений: 58
26.08.2014, 09:00
Бери книгу по программированию на С++ Павловской (она как раз для студентов) и решай все 20 вариантов для каждой главы. Задачи кстати хорошие. Книгу можешь в интернете найти
1
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
26.08.2014, 09:26
Вода:
Кликните здесь для просмотра всего текста
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/////////////////////////////////////////////////////////////////////////////////////////
//Одномерный массив рендомно заполняется (длина от 20) числами от 0 до 9. На этот массив 
//якобы сверху льется вода и останьте только в "ямах". Найти объем воды.
//Условия - можно использовать:
//- 1 одномерный массив
//- 1 Цикл
//- Неограничено переменных. (в рамках разумного)
/////////////////////////////////////////////////////////////////////////////////////////
#include <cstdlib>
#include <ctime>
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
int     main()
{
    const   int     VAL_MAX     =   9;
    const   int     ARR_SIZE    =   7;
 
    srand(unsigned(time(0)));
 
    int     arr[ ARR_SIZE ];
 
    std::cout   <<  std::endl
                <<  std::endl
                <<  std::endl;
 
    for( int  i = 0; i < ARR_SIZE; ++i )
    {
        arr[i] = rand() % VAL_MAX + 1;
    }
 
    for( int  i = 0; i < ARR_SIZE; ++i )
    {
        std::cout   <<  arr[i]
                    <<  '\t';
    }
 
    std::cout   <<  std::endl;
 
    bool    _1_is_active    =   false;
    bool    _2_is_active    =   false;
    bool    _3_is_active    =   false;
 
    bool    _4_is_active    =   false;
    bool    _5_is_active    =   false;
    bool    _6_is_active    =   false;
 
    bool    _7_is_active    =   false;
    bool    _8_is_active    =   false;
    bool    _9_is_active    =   false;
 
    int     _1_counter      =   0;
    int     _2_counter      =   0;
    int     _3_counter      =   0;
 
    int     _4_counter      =   0;
    int     _5_counter      =   0;
    int     _6_counter      =   0;
 
    int     _7_counter      =   0;
    int     _8_counter      =   0;
    int     _9_counter      =   0;
 
    int     water           =   0;
 
    for( int  i = 0; i < ARR_SIZE; ++i )
    {
        switch( arr[i] )
        {
        case    0   :   if( _1_is_active )    { ++_1_counter; }
        case    1   :   if( _2_is_active )    { ++_2_counter; }
        case    2   :   if( _3_is_active )    { ++_3_counter; }
 
        case    3   :   if( _4_is_active )    { ++_4_counter; }
        case    4   :   if( _5_is_active )    { ++_5_counter; }
        case    5   :   if( _6_is_active )    { ++_6_counter; }
 
        case    6   :   if( _7_is_active )    { ++_7_counter; }
        case    7   :   if( _8_is_active )    { ++_8_counter; }
        case    8   :   if( _9_is_active )    { ++_9_counter; }
        default     :   ;
        }//switch
 
        if( i > 0 )
        {
            switch( arr[i] )
            {
            case    9   :   if( _9_is_active    &&  arr[i - 1] < 9 )    { water += _9_counter;  _9_is_active = false; }
            case    8   :   if( _8_is_active    &&  arr[i - 1] < 8 )    { water += _8_counter;  _8_is_active = false; }
            case    7   :   if( _7_is_active    &&  arr[i - 1] < 7 )    { water += _7_counter;  _7_is_active = false; }
 
            case    6   :   if( _6_is_active    &&  arr[i - 1] < 6 )    { water += _6_counter;  _6_is_active = false; }
            case    5   :   if( _5_is_active    &&  arr[i - 1] < 5 )    { water += _5_counter;  _5_is_active = false; }
            case    4   :   if( _4_is_active    &&  arr[i - 1] < 4 )    { water += _4_counter;  _4_is_active = false; }
 
            case    3   :   if( _3_is_active    &&  arr[i - 1] < 3 )    { water += _3_counter;  _3_is_active = false; }
            case    2   :   if( _2_is_active    &&  arr[i - 1] < 2 )    { water += _2_counter;  _2_is_active = false; }
            case    1   :   if( _1_is_active    &&  arr[i - 1] < 1 )    { water += _1_counter;  _1_is_active = false; }
            default     :   ;
            }//switch
        }//if
 
        if( i < ARR_SIZE - 1 )
        {
            switch( arr[i] )
            {
            case    9   :   if( arr[i + 1] < 9 )    { _9_is_active  =   true;   _9_counter  =   0;  }
            case    8   :   if( arr[i + 1] < 8 )    { _8_is_active  =   true;   _8_counter  =   0;  }
            case    7   :   if( arr[i + 1] < 7 )    { _7_is_active  =   true;   _7_counter  =   0;  }
 
            case    6   :   if( arr[i + 1] < 6 )    { _6_is_active  =   true;   _6_counter  =   0;  }
            case    5   :   if( arr[i + 1] < 5 )    { _5_is_active  =   true;   _5_counter  =   0;  }
            case    4   :   if( arr[i + 1] < 4 )    { _4_is_active  =   true;   _4_counter  =   0;  }
 
            case    3   :   if( arr[i + 1] < 3 )    { _3_is_active  =   true;   _3_counter  =   0;  }
            case    2   :   if( arr[i + 1] < 2 )    { _2_is_active  =   true;   _2_counter  =   0;  }
            case    1   :   if( arr[i + 1] < 1 )    { _1_is_active  =   true;   _1_counter  =   0;  }
            default     :   ;
            }//switch
        }//if
    }//for
 
    std::cout   <<  water
                <<  std::endl;
 
    system("pause");
}
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
26.08.2014, 09:32
Mr.X, я извиняюсь, но это какая-то жесть. Куча переменных, никакого намека на генерализацию кода. Такая задача разбиралась тут: http://habrahabr.ru/post/200190/ и решение сильно короче.
2
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
26.08.2014, 09:53
Цитата Сообщение от 0x10 Посмотреть сообщение
Mr.X, я извиняюсь, но это какая-то жесть. Куча переменных, никакого намека на генерализацию кода. Такая задача разбиралась тут: http://habrahabr.ru/post/200190/ и решение сильно короче.
Ну, задним умом мы все крепки. Автор статьи не прошел же собеседование. А я-то "прошел".
Ну, а если серьезно, то спасибо за ссылку, интересное решение.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
26.08.2014, 10:52
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
bool is_power_of_2 (int num)
{
* * *return !(num & (num - 1));
}
0 - не степень двойки
0
 Аватар для агерон
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
28.08.2014, 23:17
_Ivana, вы неверно понимаете задачу, не забывайте что тестовый набор данных 1Мб
0
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
167 / 167 / 30
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
29.08.2014, 00:44
Ну порешайте Меньшикова тогда
http://informatics.mccme.ru/mo... erid=611#1
2
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
29.08.2014, 07:32
Цитата Сообщение от агерон Посмотреть сообщение
подсчета единичных битов в целом не отрицательном байте (символов).
А разве байт моет быть не целым? или отрицательным?
быстрая реализация табличный метод, таблица из 256 байтов
медленный цикл с делением на 2
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
int a=0;
while(n)
{
 if(n&1)
   a++;
n/=2;
}

извечная дилемма скорость/ память

компромисс: работать с полубайтами
Кликните здесь для просмотра всего текста
C++
1
2
3
            // 0 1  2 3  4  5  6   7  8 9 10 11 12 13 14 15
int arr[16]={0,1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3,  3,  4};
int a=arr[n&0xF]+arr[(n/16)&0x0F];
0
 Аватар для агерон
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
29.08.2014, 13:25
ValeryS, я рад что вы знаете решение этой задачи но вот предназначалась она не вам, а студенту который создал тему

Добавлено через 2 минуты
реализовать поиск подстроки в строке используя алгоритм Боуера-Мура, или аналогичный, строковыми библиотечными функциями не пользоваться

Добавлено через 3 минуты
P. P. S. уточнение на счет байта облегчало задачу, надеюсь вы в курсе что байты бывают не только 8 битные? и что запись signed byte также имеет право на существование? как и то что дробные числа в компьютере есть определенная трактовка тех же самых байт?
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
29.08.2014, 13:57
Цитата Сообщение от агерон Посмотреть сообщение
надеюсь вы в курсе что байты бывают не только 8 битные?
Ага
Байт это минимальная адресуемая ячейка
Цитата Сообщение от агерон Посмотреть сообщение
и что запись signed byte также имеет право на существование?
А что сия запись означает?
может все таки
C++
1
signed char
Цитата Сообщение от агерон Посмотреть сообщение
но вот предназначалась она не вам, а студенту который создал тему
А нехай учится
правда он как создал тему, так и пропал
но может другие узнают что такое табличный метод
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
29.08.2014, 16:18
Цитата Сообщение от агерон Посмотреть сообщение
_Ivana, вы неверно понимаете задачу
И в чем же я, простите, неверно ее понимаю? Спровоцировали вы меня Вот без умножений/делений/остатков, выполнится хоть на АВР-Тини, где нет аппаратных умножений/делений, выполнится быстро, с имхо более разумным компромиссом скорость/память, без таблиц. Причем, подозреваю, что можно еще оптимизировать код - уменьшить количество операций, лень этим заниматься просто. Если надо - напишу для 32-битных переменных.
C++
1
2
3
4
5
6
7
8
9
    unsigned char m[10] = {0,1,2,3,4,5,6,7,8,9};
    unsigned int rez = 0;
    for (unsigned int i = 0; i<10; i++) {
        unsigned char c = m[i];
        c = (c & 85) + ((c>>1) & 85);
        c = (c & 51) + ((c>>2) & 51);
        c = (c & 15) + (c>>4);
        rez += c;
    }
ЗЫ это к тому, что "пусть студенты учатся" не только дилеммам "таблицы/математика в лоб", а не пренебрегают чуть менее тривиальной математикой и советами от других. Конкретно: Уоррен - Алгоритмические трюки для программистов - целая глава 5 посвящена теме подсчета битов в байтах/словах/массивах и приведены десятки алгоритмов, оптимальные каждый под свою платформу и систему команд процессора.
0
0 / 0 / 0
Регистрация: 15.05.2016
Сообщений: 2
09.06.2016, 14:06
Цитата Сообщение от avatar1870 Посмотреть сообщение
Здравствуйте. Если здесь есть студенты-программисты, то очень попрошу их сбросить сюда задания по С++, потому что все свои уже перерешал.
1. Создать внешний файл данных структуры <инв.номер> <название оборудования> <цена> из 20 записей. Считать данные в массив. Описать функцию вывода массива на экран.
2. Описать функцию шейкерной сортировки массива на основе таблицы индексов сначала по <инв.номеру>, затем – по <названию оборудования> . Предусмотреть подсчет количества обменов М и сравнений С.
3. Проанализировать работу данного метода сортировки для случайного массива, для «лучшего» и «худшего» случаев.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.06.2016, 14:06

Нужны простые задачи для тренировки
Добрый день всем:) Наверное подобных тем как я тут сотни,но всё же. Начал изучать С++(так как необходим для универа)в дальнейшем...

Составить программу для решения математической задачи (для любых допустимых значений углов и сторон)
Здравствуйте.Я новичок в C++,у меня возникла проблема с задачей.Пожалуйста помогите.Вот условие: Составить универсальную (то есть не для...

Написать на С++ программу для решения задачи
Помогите написать код для решения задачи по нахождению радиуса круга, описанного вокруг треугольника

Нужен совет для решения задачи
Задача. Написать программу которая читает последовательность слов с стандартного устройства ввода. И находит среди них...

Использование функция для решения задачи
Добрый вечер, подскажите в чем ошибка в коде. #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;time.h&gt; #include &lt;stdlib.h&gt;...


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

Или воспользуйтесь поиском по форуму:
53
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru