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

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 2744, средняя оценка - 4.89
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
#1

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

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

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

Список задач, решение которых присутствует в данной теме:
41
Лучшие ответы (59)
Сообщение: #857841 Сообщение: #857861 Сообщение: #858352 Сообщение: #859371 Сообщение: #860160 Сообщение: #860255 Сообщение: #860259 Сообщение: #860317 Сообщение: #860368 Сообщение: #860466 Сообщение: #860508 Сообщение: #860720 Сообщение: #861091 Сообщение: #862174 Сообщение: #862617 Сообщение: #867259 Сообщение: #870298 Сообщение: #872053 Сообщение: #876456 Сообщение: #880114 Сообщение: #882889 Сообщение: #884418 Сообщение: #886414 Сообщение: #886989 Сообщение: #887733 Сообщение: #888464 Сообщение: #888487 Сообщение: #888941 Сообщение: #888947 Сообщение: #889040 Сообщение: #889450 Сообщение: #889587 Сообщение: #891772 Сообщение: #891790 Сообщение: #891862 Сообщение: #897758 Сообщение: #897782 Сообщение: #906325 Сообщение: #907991 Сообщение: #943672 Сообщение: #943700 Сообщение: #967735 Сообщение: #1053777 Сообщение: #1054209 Сообщение: #1083853 Сообщение: #1083928 Сообщение: #1131058 Сообщение: #1131359 Сообщение: #1273743 Сообщение: #1275465 Сообщение: #1276743 Сообщение: #1279215 Сообщение: #1282583 Сообщение: #1309088 Сообщение: #1315633 Сообщение: #1366395 Сообщение: #1550164 Сообщение: #1603678 Сообщение: #1604364
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2010, 05:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задачи для тренировки и лучшего понимания (C++):

Прошу примеров для понимания INDY - C++ Builder
Уважаемые коллеги и братья по интересу. Прошу примеров использования Indy UDP Server (TIdUDPServer) и Indy UDP Client (TIdUDPClient) для...

Ищу примеры для понимания взаимодействия Callback + event - C++ WinAPI
Господа, подкиньте плиз какой-нибудь пример для понимания взаимодействия Callback+event С самими Callback функциями вроде разобрался, а...

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

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

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

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

1272
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 20:02 #46
блин.
определённо надо будет пересмотреть тему в книжке : S

Не по теме:

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

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

Не по теме:

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

0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
16.07.2010, 20:19  [ТС] #48
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
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 20:20 #49
Цитата Сообщение от MikeSoft Посмотреть сообщение
nikkka, на вскидку простеньких задач - не помню! Помню одну олимпиадную задачу на поиск смайликов в строке. Но описывать долго ... Если есть желание - могу всё же написать.
Не по теме:
Делал недавно уборку, разгребал документы - попадался под руку сборник задач, которые были на Всеукраинском Чемпионате Компьютерных Технологий ... завтра посмотрю и, если нужно, отсканирую.
было бы очень любезно!...
: )
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
16.07.2010, 20:34  [ТС] #50
То же задание с числами через 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
Эксперт С++
3801 / 1777 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
16.07.2010, 20:47 #51
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Имя входного файла: d.in
Имя выходного файла: d.out

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

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

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

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

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

Добавлено через 3 минуты
MikeSoft, помню подобную задачу.
дана последовательноть скобок:
C++
1
(((())()()(((()())))((()())))   // на пример такая
надо проверить является ли она "правильной".
я не помню точную формулировку, но "правильная" имеется в виду математически-правильная.
трудно объяснить.
но по моему понятно...
1
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
16.07.2010, 20:54  [ТС] #53
MikeSoft, На си или на С++?
0
HIMen
4143 / 1392 / 39
Регистрация: 12.04.2009
Сообщений: 2,346
16.07.2010, 20:54 #54
Lavroff, все еще проще, чем ты думаешь. Можно сделать без stl, без функторов, в одну строчку
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
16.07.2010, 20:55  [ТС] #55
HIMen, В одну? Никак. Ввод данных таки нужен.) Ща подумаю как это сделать настолько коротко
0
MikeSoft
Эксперт С++
3801 / 1777 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
16.07.2010, 20:56 #56
Lavroff, всё-равно, но как можно проще и быстрее.
0
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 20:57 #57
Lavroff, если напишеш, выкладывай "скрытый" текст, плиз.
а то глянул, и всё
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
16.07.2010, 21:07  [ТС] #58
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
4143 / 1392 / 39
Регистрация: 12.04.2009
Сообщений: 2,346
16.07.2010, 21:17 #59
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
16.07.2010, 21:20 #60
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
16.07.2010, 21:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2010, 21:20
Привет! Вот еще темы с ответами:

Какая база требуется для понимания C++? - C++
Доброго времени суток! Возникло желание научиться работать в Си, но одолели смутные сомнения. Каюсь, ничего сложнее Pascal ABC в школьные...

Нужен пример рекурсивной функции для понимания ее назначения и практической пользы - C++
Не могу понять пользу рекурсии, может ли кто привести код в пример.

Киньте задачки для тренировки - C++
Хочу порешать задачки по C++......нужны либо книжки с задачками - либо ваши примеры.....желательно (если книжки) - чтобы там и решение...

Дайте задания для тренировки - C++
День добрый. Учу C++. Я уверен, что тут есть люди которые с ним отлично знаком и работают. Можете ли вы накидать заданий, возможно из...


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

Или воспользуйтесь поиском по форуму:
60
Закрытая тема Создать тему
Опции темы

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