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

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

15.07.2010, 05:53. Показов 501683. Ответов 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 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
Закрытая тема Создать тему
Новые блоги и статьи
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