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

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

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

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

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

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

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

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

1272
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 14:09
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от nikkka Посмотреть сообщение
а чё нить по проще нельзя
можно. но не интересно

например:
удалить повторяющиеся числа и отсортировать, минимальным кол-вом кода.

Цитата Сообщение от nikkka Посмотреть сообщение
я не такой умный
а я думал ты дефка
0
Мат в 32 хода
 Аватар для nikkka
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
29.07.2010, 14:41

Не по теме:

niXman, фу блин, фотку менять надо :D



Добавлено через 44 секунды

Не по теме:

а Ника = Николай.

0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 14:42
решение есть?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2010, 14:54  [ТС]
niXman, удалить повторяющиеся числа в тройке или во всем массиве?
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 14:57
Цитата Сообщение от Lavroff Посмотреть сообщение
удалить повторяющиеся числа в тройке или во всем массиве?
ты про какую задачу?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2010, 14:58  [ТС]
niXman,

например:
удалить повторяющиеся числа и отсортировать, минимальным кол-вом кода.

Ибо первое задание я вообще не представляю как сделать.
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 15:10
Цитата Сообщение от Lavroff Посмотреть сообщение
например:
удалить повторяющиеся числа и отсортировать, минимальным кол-вом кода.
да, во всем массиве.

Цитата Сообщение от Lavroff Посмотреть сообщение
Ибо первое задание я вообще не представляю как сделать.
мне очень понравилось и задание, и решение.

Добавлено через 11 минут
аууу....
хоть кто-то покажет решение?
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
29.07.2010, 16:07
ахах)

На счет удаления повторов, решение получилось помоему больше чем стандартное =)
Но все-таки выложу, может кому полезно будет, да и буду рад выслушать замечания.

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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main (void)
{
    const int SIZE=10;
    int MAS[SIZE]={1,6,4,2,9,6,1,7,5,2};
    std::vector <int> vec (MAS, MAS+SIZE);
    // output before 
    std::cout << "Before: " << std::endl;
    std::copy (vec.begin(), vec.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl;
 
    std::sort (vec.begin(), vec.end());
    std::vector <int> :: iterator it=vec.begin();
    int cnt=std::count (vec.begin(), vec.end(), *it);
    for (it, cnt; it!=vec.end(); it++, cnt=std::count (vec.begin(), vec.end(), *it) )
        if (cnt-1)
            vec.erase (vec.begin()+(it - vec.begin())+1, vec.begin()+(it - vec.begin())+cnt);
    // output after
    std::cout << "After: " << std::endl;
    std::copy (vec.begin(), vec.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl;
 
    return 0;
}
Добавлено через 45 минут
Опа-па.
Додумал, так быстрее и красивее.

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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main (void)
{
    const int SIZE=10;
    int MAS[SIZE]={1,6,4,2,9,6,1,7,5,2};
    std::vector <int> vec (MAS, MAS+SIZE);
    std::vector <int> :: iterator it;
    // output before
    std::cout << "Before: " << std::endl;
    std::copy (vec.begin(), vec.end(), std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl;
    //
    std::sort (vec.begin(), vec.end());
    it=std::unique (vec.begin(), vec.end());
    // output after
    std::cout << "After: " << std::endl;
    std::copy (vec.begin(), it, std::ostream_iterator <int> (std::cout, " "));
    std::cout << std::endl;
 
    return 0;
}
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 16:09
вот мое: http://liveworkspace.org/code/... 7e53d80ca9
1
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
29.07.2010, 16:18
Цитата Сообщение от nikkka Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream> 
int main()
{
    int n;
    std::cin>>n;
    bool is=false;
    for (int i=0;i<1000000;i++)
        {if((1+((i*(i-1))/2))==n) {is=true;  break;}}
    if(is) std::cout<<"1\n";
    else std::cout<<"0\n";
    system("PAUSE");
    return 0;
}
Что-то у меня эта программа кроме нуля ничего не выводит.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2010, 16:32  [ТС]
У niXman короче всего. У него хороший способ


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main() {
   const int src_s = 50;
   
   std::vector<int> src;
   
   for(int i=0;i<src_s;++i)
   {
       src.push_back(1+rand()%10);
   }
   std::vector<int>::iterator it;
   std::sort(src.begin(), src.end());
   it=std::unique(src.begin(), src.end());
   std::copy(src.begin(), it, std::ostream_iterator<int> (std::cout, " "));
   
   return 0;
}
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
29.07.2010, 16:41
Да, короче на 1 строку.

У меня на этот код выходит ошибка:
error: `ivec' must be initialized by constructor, not by `{...}'
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 16:42
Цитата Сообщение от Lavroff Посмотреть сообщение
std::sort(src.begin(), src.end());
* *it=std::unique(src.begin(), src.end());
* *std::copy(src.begin(), it, std::ostream_iterator<int> (std::cout, " "));
тоже гуд
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
29.07.2010, 16:42
Lavroff, ваше решение идентично моему.
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 16:42
Цитата Сообщение от neske Посмотреть сообщение
У меня на этот код выходит ошибка
какой компилятор? версия?
0
29.07.2010, 16:43

Не по теме:

Цитата Сообщение от niXman Посмотреть сообщение
какой компилятор? версия?
очевидно не MSVS2010 или gcc 4.5.0

0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2010, 16:44  [ТС]
neske, Идентично. Пытался разные варианты,пока алгоритмы в книжке просматривал. Есть несколько, но этот короче всех вроде как.

П.С. Такая инициализация вектора возможна только в 10 VS или gcc 4.5.0+
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
29.07.2010, 16:45
Цитата Сообщение от niXman Посмотреть сообщение
тоже гуд
Мое решение прошло мимо ваших глаз?
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 16:49
Цитата Сообщение от Lavroff Посмотреть сообщение
Такая инициализация вектора
не только вектора, и не только контейнеров. драфт-стандарт: http://www.open-std.org/jtc1/s... /n2672.htm


Цитата Сообщение от neske Посмотреть сообщение
Мое решение прошло мимо ваших глаз?
нет же. просто ждал остальных вариантов. пока ждал, про ваш вариант забыл
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
29.07.2010, 17:38  [ТС]
niXman, По tuple решение не скинете? интересно посмотреть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.07.2010, 17:38
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
300
Закрытая тема Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru