Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/2345: Рейтинг темы: голосов - 2345, средняя оценка - 4.54
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562

Задачи для тренировки и лучшего понимания

15.07.2010, 05:53. Показов 503437. Ответов 1272
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят. Кто-нибудь может дать задачу для тренировки? Приблизительно по всему курсу С++. Буду благодарен за сложную задачу, но которую способен сделать новичок-любитель. Затраты сил-времени не важно. Главное, чтобы это было интересно и не слишком рутинно. + Если найдется человек который даст задачу просьба помогать с кодом, который я буду себя скидывать. Не переписывать за меня, но указывать на ошибки и желательно объяснять. Заранее спасибо.

Список задач, решение которых присутствует в данной теме:
44
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.07.2010, 05:53
Ответы с готовыми решениями:

Элементарные программы, для лучшего понимания языка...
Здравствуйте. Вот сегодня решил что пора изучать с++. Есть пару задач. Начал решать и уже на первой запоролся( суть в том чтобы определить...

Задачи для тренировки и лучшего понимания языка
Предлагаю в этой теме размещать задачи, которые помогут новичкам (и не только) более детально разобраться в основах языка. При размещении...

Литература для лучшего понимания сути программирования
Привет! Подскажите литературу, которая поможет разобраться в сути самого процесса программирования, поможет изучить теорию алгоритмов,...

1272
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
16.07.2010, 19:59
Студворк — интернет-сервис помощи студентам
neske, близко, но нет.

Добавлено через 2 минуты
CyBOSSeR, почему же ни разу? Значение инкрементируется, происходит сравнение и в некотором случае результат может являться удовлетворительным, что вызовет вход в цикл.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
16.07.2010, 19:59  [ТС]
8. Ибо префексный инкремент. Сначала x=1. При первом проходе цикла =2. И далее. При 10 выходит из цикла не проходя его
2
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
16.07.2010, 20:00
Цитата Сообщение от Lavroff Посмотреть сообщение
8. Ибо начинаем с двух.
Именно так.
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 20:00
MikeSoft,
x=11?
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
16.07.2010, 20:01
nikkka, нет.
x = 10
цикл выполнится 8 раз.
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 20:02
блин.
определённо надо будет пересмотреть тему в книжке : S

Не по теме:

Цитата Сообщение от Lavroff Посмотреть сообщение
MikeSoft, Продолжение будет?)
надеюсь : )

0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
16.07.2010, 20:12
nikkka, на вскидку простеньких задач - не помню! Помню одну олимпиадную задачу на поиск смайликов в строке. Но описывать долго ... Если есть желание - могу всё же написать.

Не по теме:

Делал недавно уборку, разгребал документы - попадался под руку сборник задач, которые были на Всеукраинском Чемпионате Компьютерных Технологий ... завтра посмотрю и, если нужно, отсканирую.

0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
16.07.2010, 20:19  [ТС]
HIMen,
"Вот
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 <vector>
#include <algorithm>
int main()
{
 
    std::vector<int>Arr;
    int n=0;
    std::cout<<"Enter size of Array\n";
    std::cin>>n;
    int*Array;
    Array=new int [n];
    int*count;
    for(int i=0;i<n;i++)
    {
        std::cout<<"Enter [ "<< i+1 <<" ] elem of array\n";
        std::cin>>Array[i];
        Arr.push_back(Array[i]);
    }
    count=new int [n];
    for(int i=0;i<n;i++)
    {
        count[i]=0;
    }
    for(size_t i=0;i<Arr.size();i++)
    {
        for(size_t j=0;j<Arr.size();j++)
        {
            if (Arr[i]==Arr[j])
                count[i]++;
        }
    }
    for(size_t i=0;i<Arr.size();i++)
    {
        if(count[i]==1)
            std::cout<<Arr[i]<<'\n';
    }
    return 0;
}
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 20:20
Цитата Сообщение от MikeSoft Посмотреть сообщение
nikkka, на вскидку простеньких задач - не помню! Помню одну олимпиадную задачу на поиск смайликов в строке. Но описывать долго ... Если есть желание - могу всё же написать.
Не по теме:
Делал недавно уборку, разгребал документы - попадался под руку сборник задач, которые были на Всеукраинском Чемпионате Компьютерных Технологий ... завтра посмотрю и, если нужно, отсканирую.
было бы очень любезно!...
: )
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
16.07.2010, 20:34  [ТС]
То же задание с числами через STL.

Оно
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
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
 
    std::vector<int>Arr;
    int n=0, j=0;
    std::cout<<"Enter size of Array\n";
    std::cin>>n;
    for(int i=0;i<n;i++)
    {
        std::cout<<"Enter [ "<< i+1 <<" ] elem of array\n";
        std::cin>>j;
        Arr.push_back(j);
    }
    for(size_t i=0;i<Arr.size();i++)
    {
        n=std::count(Arr.begin(), Arr.end(), Arr[i]);
        if(n==1)
        {
            std::cout<<Arr[i]<<'\n';
        }
    }
    return 0;
}
1
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
16.07.2010, 20:47
Лучший ответ Сообщение было отмечено как решение

Решение

Имя входного файла: d.in
Имя выходного файла: d.out

Напишите программу, которая посчитает количество смайликов в заданном тексте. Смайликом будем считать последовательность символов, удовлетворяющую условиям:
  • Первым символом является либо ; (точка с запятой), либо : (двоеточие) ровно один раз
  • Далее может идти символ - (минус) сколько угодно раз (в том числе минус может идти ноль раз)
  • В конце обязательно идёт некоторое количество (не меньше одной) одинаковых скобок из следующего набора: (, ), [, ].
  • Внутри смайлика не может встречаться никаких других символов.

Например, нижеприведенные последовательности являются смайликами:
Code
1
2
3
4
:)
;-----------[[[[[[[[
:---]
:)
В то время, как следующие последовательности смайликами не являются (хотя некоторые из них содержат смайлики):
Code
1
2
3
4
5
:-)]
;--
-)
::-(
:-()
Нужно подсчитать количество смайликов, содержащихся в данном тексте.

Формат входного файла:
Вводится одна строка текста, которая может содержать маленькие латинские буквы, пробелы, символы, которые могут встречаться в смайликах. Длина строки не превышает 100 000 символов.

Формат выходного файла:
Выведите одно число - количество смайликов, которые встречаются в тексте.

Примеры:
Code
1
2
3
4
5
6
          d.in          |        d.out
    -------------------------------------
       :) ;-----[[[[[   |          2
       :-) ];-----;     |          1
       -) (---:---      |          0
       hello :-)        |          1
5
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 20:54
MikeSoft, сегодня времени нет, а завтра постораюсь выложить сУды решение.

Добавлено через 3 минуты
MikeSoft, помню подобную задачу.
дана последовательноть скобок:
C++
1
(((())()()(((()())))((()())))   // на пример такая
надо проверить является ли она "правильной".
я не помню точную формулировку, но "правильная" имеется в виду математически-правильная.
трудно объяснить.
но по моему понятно...
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
16.07.2010, 20:54  [ТС]
MikeSoft, На си или на С++?
0
 Аватар для HIMen
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
16.07.2010, 20:54
Lavroff, все еще проще, чем ты думаешь. Можно сделать без stl, без функторов, в одну строчку
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
16.07.2010, 20:55  [ТС]
HIMen, В одну? Никак. Ввод данных таки нужен.) Ща подумаю как это сделать настолько коротко
0
Эксперт С++
 Аватар для MikeSoft
3957 / 1812 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
16.07.2010, 20:56
Lavroff, всё-равно, но как можно проще и быстрее.
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 20:57
Lavroff, если напишеш, выкладывай "скрытый" текст, плиз.
а то глянул, и всё
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
16.07.2010, 21:07  [ТС]
HIMen, Самая короткая которая приходит в голову:

Но тут далеко не одна строчка...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
int main()
{
    int n=0;
    int A[]={1,2,3,2,1};
    for(int i=0;i<5;i++)
    {
        n=0;
        for(int j=0;j<5;j++)
        {
            if (A[i]==A[j])
                n++;
        }
        if(n==1)
            std::cout<<A[i]<<'\n';
    }
    return 0;
}


Не могли бы вы показать как в одну строку?
1
 Аватар для HIMen
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
16.07.2010, 21:17
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
2
3
4
int A[]={1,2,3,2,1};
int result = 0;
for (int i = 0; i < 5; i++) result = result ^ A[i];
cout << result;
Исключающие или для всех элементов массива
5
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 21:20
Lavroff, я не понял, это какое задание?...
MikeSoft, вот ваше))) решил всё таки написать)))

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
#include <iostream>
#include <cstring>
#include <conio.h>
using namespace std;
int main()
{
    cout<<"Enter the string: \n";
    string s;
    cin>>s;
    int i=0;
    int count=0;
    bool last=false;
    while(s[i]!='\0')
    {
        if (s[i]==':' || s[i]==';' || last==false)
        {
            last=true;
        };
        if (s[i]==')' || s[i]=='(' || s[i]==']' || s[i]=='[' || last==true)
        {
            last=false;
            count++;
        };
        i++;
    };
    cout<<count;
    getch();
    return 0;
}
Добавлено через 2 минуты
HIMen, а.. понятно.
а я думал про смаилики. не понял код
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.07.2010, 21:20
Помогаю со студенческими работами здесь

Набор задачь для тренировки и улучшения понимания программирования
Добрый вечер всем. Если кто знает модскажите где можно найти подобный набор задачь...

Проверить на правильность и закомментировать весь код для лучшего понимания
Всем здравствуйте. Условие задачи - Заданная матрица целых чисел размером (N, N). Найти среднее арифметическое элементов в окрашенной...

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

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

Нужны задачи для тренировки
Вот не давно был школьный этап по программирование в школе(олимпиады). Меня закинули на городскую, вот только писал ту олимпиаду на...


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

Или воспользуйтесь поиском по форуму:
60
Закрытая тема Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru