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

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

15.07.2010, 05:53. Показов 518580. Ответов 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
Закрытая тема Создать тему
Новые блоги и статьи
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru