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

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

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

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

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

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

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

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

1272
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
03.08.2010, 11:13  [ТС]
Студворк — интернет-сервис помощи студентам
neske, Кстати. Там так и должно быть std::copy? Ибо у меня не компилится... Правда может быть потому что я контейнер так загнать пытаюсь.
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
03.08.2010, 11:14
Так и должно быть, только:

C++
1
2
#include <algorithm>
#include <iterator>
добавить нужно)
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
03.08.2010, 11:17  [ТС]
neske, Это я знаю... Я не о том...
Вот за это:

std::copy (Arr[i], Arr[i]+Size, std::ostream_iterator <int> (std::copy, " "));

Меня шлет компиль далеко и надолго. Если
std::copy (Arr[i], Arr[i]+Size, std::ostream_iterator <int> (std::cout, " ")); то все ок.
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
03.08.2010, 11:18
Для наглядности, компилируется без проблем:

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
#include <iostream>
#include <ctime>
#include <algorithm>
#include <iterator>
 
int rnd ()
{
    return rand()%50;
}
 
int main (void)
{
    const size_t ROW=4;
    const size_t COLUMN=4;
    int MAS[ROW][COLUMN];
    // fill and output
    
    srand (time (NULL));
    std::cout << "Start matrix:\n";
    for (size_t i=0; i<ROW; i++) {
        std::generate_n (MAS[i], COLUMN, rnd);
        std::copy (MAS[i], MAS[i]+COLUMN, std::ostream_iterator <int> (std::cout, " "));
        std::cout << std::endl; }
    std::cout << std::endl;
 
    return 0;
}
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
03.08.2010, 11:19  [ТС]
neske, cout.. Таки cout. Посмотри свой код выше. Сравни что там написано.
2
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
03.08.2010, 11:19
Мои извинения, очепятка)
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
03.08.2010, 11:22  [ТС]
C++
1
std::copy (Arr[i], Arr[i]+Size, std::ostream_iterator <int> (std::cout<<std::setw(3), " "));
Ну. Каждые Size чисел он отделяет. По идее красиво) Но не знаю то ли что нужно)
1
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
03.08.2010, 11:32
Немного не то, ну да ладно, спасибо)
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
03.08.2010, 11:33  [ТС]
neske, Так красивше будет наерн
C++
1
std::copy (Arr[i], Arr[i]+Size, std::ostream_iterator <int> (std::cout<<std::endl, " "));
2
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
03.08.2010, 16:51
Цитата Сообщение от neske Посмотреть сообщение
Немного не то, ну да ладно
может быть вот так будет правильнее?
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 <algorithm>
#include <iostream>
#include <iterator>
#include <iomanip>
#include <cstdlib>
 
int main()
{
    const int nrow = 5;
    const int ncol = 5;
 
    int matrix[nrow][ncol];
    
    for(int i = 0; i < nrow; ++i)
        std::generate(matrix[i], matrix[i] + ncol, []{ return rand() % 99; });
 
    for(int i = 0; i < nrow; ++i)
    {
        int j = 0;
        std::for_each(matrix[i], matrix[i] + ncol, [&j](int n){ std::cout << std::setw(10) << n; ++j; });
        std::cout << std::endl;
    }
 
    system("PAUSE");
}
Code
1
2
3
4
5
        41        53        97        67        62
        82        93        54        34        11
        62        29        16        96        61
        95        25        62        75        90
        18        51        41        54        94
Добавлено через 14 минут
j то я сюда зря воткнул оказывается
надо просто вот так:
C++
1
2
3
4
5
    for(int i = 0; i < nrow; ++i)
    {
        std::for_each(matrix[i], matrix[i] + ncol, [](int n){ std::cout << std::setw(10) << n; });
        std::cout << std::endl;
    }
3
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
03.08.2010, 18:37
false, вот это да)
Всем спасибо.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
03.08.2010, 22:17
Задача. Написать на Си программу, при запуске которой печатался бы исходник этой программы. Работать с файлами нельзя: т.е. решение в виде того, чтобы открыть файл исходника и распечатать на экран, не катит
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
03.08.2010, 22:20
Evg, было уже.

Не по теме:

Правда решения вроде бы и не нашли...

0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
03.08.2010, 22:23
Цитата Сообщение от Evg Посмотреть сообщение
Задача. Написать на Си программу, при запуске которой печатался бы исходник этой программы. Работать с файлами нельзя: т.е. решение в виде того, чтобы открыть файл исходника и распечатать на экран, не катит
читал в книге
C
1
2
#include <stdio.h>
int main(char*a){printf(a,34,a="main(a){printf(a,34,a=%c%s%c,34);}",34);}
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
03.08.2010, 22:26
Nameless One, где было - далеко не все читали. Решение там точно есть (потому что я его помещал)

fasked, выбрось эту книгу
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
03.08.2010, 22:27
fasked, куайн должен печатать весь исходник, а у тебя только начиная с main: http://codepad.org/8RxGgbJ2
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
03.08.2010, 22:34
Цитата Сообщение от Nameless One Посмотреть сообщение
Если честно, я не понимаю, почему программа хоть что-то печатает. Значение a должно равняться еднице (ибо на этом месте передаётся argc). Почему в кору не выпадает - непонятно

Добавлено через 3 минуты
Единственное объяснение - на intel'е передача параметров делается сзади, а потому a="..." исполнится раньше. С точки зрения стандарта это undefined, а потому книга стОит того, чтобы её выбросить (если там не оговорено, что сие только на intel'е будет работать)
0
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
03.08.2010, 22:35
Цитата Сообщение от Evg Посмотреть сообщение
выбрось эту книгу
вообще книга хорошая, а этот код был приложен в ссылочке к объяснению слову "хакер"
соответственно ни о каком применении подобного кода и речи не идет
Цитата Сообщение от Evg Посмотреть сообщение
Если честно, я не понимаю, почему программа хоть что-то печатает. Значение a должно равняться еднице (ибо на этом месте передаётся argc). Почему в кору не выпадает - непонятно
да я и сам-то не понимаю, но пример забавный.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21285 / 8310 / 637
Регистрация: 30.03.2009
Сообщений: 22,671
Записей в блоге: 30
03.08.2010, 22:37
Пример - хороший тест на задание "приведите пример непереносимого кода". К хакерству отношения никакого не имеет, просто это закладка на знание внутренних особенностей компилятора. В итоге задача остаётся в силе
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
03.08.2010, 22:37
Вот это уже больше похоже на правду
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.08.2010, 22:37

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
480
Закрытая тема Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
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 и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru