C++ — Нужна помощь с решением задачи


Содержание

Решения задач по программированию на C++

На этой странице отображены ссылки на статьи с решениями различных популярных задач по программированию на языке программирования C++. Раздел пополняется ссылками на новые статьи, оставайтесь в курсе, подписавшись на RSS.

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

Решения задач по программированию на языке C++

Программа для решения факториала на C++ — в статье описана реализация алгоритмов рекурсивного нахождения значения факториала и через циклы на языке программирования C++.

Программа для решения квадратных уравнений на C++ — в статье описывается как написать программу для решения квадратных уравнений на C++, нахождение дискриминанта, проверка на существование решения, нахождение двух корней.

Алгоритм пузырьковой сортировки одномерного массива на C++ — в статье описывается сам алгоритм пузырьковой сортировки, показывается как отсортировать массив методом пузырьковой сортировки на C++.

Считывание строк из файла и запись в массив на C++ — в статье описывается как работать с файлами, как считывать данные из файла в массив.

QFile и файлы. Чтение и запись строк в файл. — а здесь описано как работать с записью и считыванием из файла с помощью фреймворка Qt.

Найти максимальный и минимальный элемент массива на C++ — в статье подробно разобрано решение задачи по нахождению минимального и максимального элемента в массиве.

Рекурсивное нахождение чисел Фибоначчи на C++ — в статье описано решение задачи по нахождению чисел Фибоначчи рекурсивным способом.

Проверить, является ли строка палиндромом на C++ — в статье рассказывается что такое палиндром, как реализовать функцию для проверки строки на палиндромность. И приведен код программы, использующей эту функцию.

Этот список со временем будет пополняться новыми решениями.

Простейшие задания для изучения C++ и решения

Вначале задания, в конце страницы — решения для С++.

Задания для работы с вводом/выводом.

1) Создайте 5 переменных типа char, предложите пользователю ввести слово из пяти букв и покажите эти символы (слово) на экран. (Символы вводить латиницей, т.к. кириллица будет отображаться некорректно.)

2) Вывести на экран текст, состоящий из заголовка и стихотворения:
А.С.Пушкин «Вот север, тучи, нагоняя. «
Вот север, тучи нагоняя,
Дохнул, завыл – и вот сама
Идет волшебница-зима,
Пришла, рассыпалась; клоками
Повисла на суках дубов,
Легла волнистыми коврами
Среди полей вокруг холмов.
Брега с недвижною рекою
Сравняла пухлой пеленою;
Блеснул мороз, и рады мы
Проказам матушки-зимы.

3) Пользователь должен ввести 4 цифры. Нужно вывести на экран эти 4 цифры в обратном порядке. Пример: введены цифры: 9748 — отобразить: 8479.

Задания для работы с условными операторами

4) Предложить пользователю выбрать один из трёх фруктов и вывести цвет выбранного фрукта. Слива — синий, абрикос — жёлтый, мандарин — оранжевый.

5) Предложить выбор модели автомобиля : Mercedes-Benz CLA, Audi A6, BMW X5, Lexus RX 270, После выбора вывести стоимость, соответственно: 2 млн. рублей, 2,5 млн. рублей, 3,5 млн. рублей, 2,3 млн. рублей. Использовать оператор switch case.

6) Пользователь выбирает на каком языке нужно вывести названия дней недели. Программа выводит дни недели на русском или на английском по выбору пользователя. (Английские названия, начиная с понедельника: monday, tuesday, wednesday, thursday, friday, saturday, sunday).

Задания для работы с циклами

7) Пользователь вводит номер текущего месяца. Выведите на экран следующий. Если пользователь ввёл число меньше 1 или больше 12, укажите на ошибку и запросите месяц заново.

Задания для работы с массивами и строками

8) Запросить ввод имён нескольких человек на английском. Пользователь должен указать число человек и потом написать их имена на английском. Далее предложить на выбор оформление графика дежурств: на неделю, на две недели, на месяц. Пользователь должен получить график по выбору. Например:
1 Ivan
2 Vasiliy
3 Ivan
4 Vasiliy и т.д.

Задачи и решение. С++

На этой странице собраны все задачи по темам уроков, размещенных на нашем сайте. К каждой задаче прилагается наш вариант решения. Постарайтесь всё же решать их самостоятельно и только потом сравнивать наш исходный код со своим. “Хочешь научиться программировать – программируй”!

Больше практических заданий с решениями найдёте здесь.

Рекомендуем посетить Сайт для юных программистов – где вы найдете уроки по различным языкам программирования (в том числе для детей), 3D-моделированию, Linux и др.

Где найти интересные задачи по с++ разного уровня?

Не знаю что такое «озов» похоже на город какой-то, но тогда неясно отчего с маленькой буквы. Говорят в древности на Руси алфавит ( ну или буквица ) начинался с буквы Аз, откуда вероятно и пошли азы.

По сути вопроса — любая программа длиннее тысячи строк будет представлять собой вполне себе задачу среднего уровня. Поставьте себе задачу и реализуйте ее на си++. Например напишите свой http/ftp сервер или клиент. Создайте простую игру, или удобное приложение.

Можно конечно искать задачи где нужно «с помощью указателей» сделать что-либо, или «написать иерархию классов с виртуальными функциями» но имхо это полная ерунда. Она может помочь разве что закрепить синтаксис языка, но не дает понимания того зачем конкретная фича языка нужна.
А вот создание собственной объемной программы — такое понимание дает в полной мере. Когда вы напишите 20й класс похожий на остальные, то зададитесь вопросом как это можно сделать проще, перечитаете учебник языка и поймете зачем нужны например шаблоны или виртуальные функции.
Если до написания программы ( а лучше во время ) вы будете штудировать учебник языка — будет совсем хорошо.

Решение задач на С++

понедельник, 11 апреля 2011 г.

Типы данных

Целые числа.

Задача A. Кролики
Пусть есть n клеток и m зайцев, которых рассадили по этим клеткам. Вам требуется расcчитать максимальное количество зайцев, которое гарантированно окажется в одной клетке (по принципу Дирихле).
В первой строке входного файла записаны два натуральных числа n и m. (1 ≤ n, m ≤ 10 9 ).

Задача B. Сумма от 1 до N
Сумму всех целых чисел от 1 до 100 можно посчитать при помощи хитрого приема.
Разобьем все числа по парам 1 и 100, 2 и 99, 3 и 98 и т.д. Сумма каждой пары 101. Пар всего 100 пополам (50). Поэтому сумма равна

Дано одно целое число N. Гарантируется, что ответ «помещается» в тип long long (в Си). Найти сумму всех целых чисел от 1 до N.


  1. long long sum_modul( long long n)
  2. <
  3. if (n&1)
  4. return (n+1)/2*n;
  5. else
  6. return n/2*(n+1);
  7. >
  8. int main()
  9. <
  10. freopen( «input.txt» , «r» ,stdin);
  11. freopen( «output.txt» , «w» ,stdout);
  12. long long n, s;
  13. cin >> n;
  14. if (n > 0)
  15. s = sum_modul(n);
  16. else
  17. s = -sum_modul(-n) + 1;
  18. cout return 0;
  19. >

* This source code was highlighted with Source Code Highlighter .

P.S.
1) Важно заметить, что в условии задачи гарантируется, что лишь ответ помещается в тип long long. А на промежутчные вычисления такой гарантии не дается, поэтому в функции sum_modul формулу подсчета стоит модифицировать так, чтобы сначала происходило деление на 2, а только потом умножение. Таким образом мы предохраняемся от переполнения типа. Целочисленно делить на 2 без потерь, конечно, нужно четное число, поэтому заранее проверяем в строке 3, что является четным: само значение n или n+1.
2) Второй подводный камень условия – нет гарантии исключения отрицательности конечного значения N. Поэтому в строках 16 и 18 учитываем особенности знака.

Цукерберг рекомендует:  Кого берут в Mail.ru Кейс от выпускника

Задача C. k-я секунда суток
Идёт k-я секунда суток. Определите, сколько целых часов h и целых минут m прошло с начала суток.
На вход программе подается целое число k (0 ≤ k ≤ 86399). Выведите на экран фразу:
It is . hours . minutes.
Вместо многоточий программа должна выводить значения h и m, отделяя их от слов ровно одним пробелом.

  1. int s, h, m;
  2. cin >> s;
  3. s—;
  4. h = s / 3600;
  5. m = (s % 3600)/ 60;
  6. cout «It is » » hours » » minutes.» ;

* This source code was highlighted with Source Code Highlighter .

P.S. Нужно обратить внимание, что в условии задачи просится найти сколько прошло полных часов и минут, т.е. если идет 60-ая секунда, то это значит, что прошло полных только 59 секунд, но никак не минута. Поэтому первым делом в 3-ей строке кода избавляемся от “идущей” незавершившейся секунды: s — .

Задача D. Часовая стрелка
Часовая стрелка повернулась с начала суток на d градусов. Определите, сколько сейчас целых часов h и целых минут m. На вход программе подается целое число d (0 ≤ d

  1. int d, m, h;
  2. cin >> d;
  3. m = d * 2;
  4. h = m / 60;
  5. m %= 60;
  6. cout «It is » » hours » » minutes.» ;

* This source code was highlighted with Source Code Highlighter .

Задача E. Без циклов
В книге на одной странице помещается k строк. Таким образом, на 1-й странице печатаются строки с 1-й по k-ю, на второй — с (k+1)-й по (2k)-ю и т. д. Напишите программу, по номеру строки в тексте определяющую номер страницы, на которой будет напечатана эта строка, и порядковый номер этой строки на странице.
На вход программе подаются число k — количество строк на странице и число n — номер строки в тексте (1 ≤ k ≤ 200, 1 ≤ n ≤ 20000).

  1. int k, n, page, line;
  2. cin >> k >> n;
  3. page = (n — 1) / k + 1;
  4. line = (n — 1) % k + 1;
  5. cout ‘ ‘ * This source code was highlighted with Source Code Highlighter .

Задача F. Два момента времени
Даны значения двух моментов времени, принадлежащих одним и тем же суткам: часы, потом минуты и секунды для каждого из моментов времени. Известно, что второй момент времени наступил не раньше первого. Определите, сколько секунд прошло между двумя моментами времени.
В первой строке входных данных находятся три целых числа — часы, минуты и секунды первого момента времени. Во второй строке — три числа, характеризующие второй момент времени. Число часов лежит в диапазоне от 0 до 23, число минут и секунд — от 0 до 59.

  1. int h1, m1, s1;
  2. cin >> h1 >> m1 >> s1;
  3. int h2, m2, s2;
  4. cin >> h2 >> m2 >> s2;
  5. s1 = s1 + m1*60 + h1*3600;
  6. s2 = s2 + m2*60 + h2*3600;
  7. cout * This source code was highlighted with Source Code Highlighter .

C++ — Нужна помощь с решением задачи

Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда — alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Форум программистов > Технологии > Помощь студентам
С/C++. Нужна помощь в решении задачи на сортировку матрицы
Регистрация
Поиск по форуму
Расширенный поиск
К странице.

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда — alarforum@yandex.ru

На лабораторной работе получил задачу на сортировку матрицы n*m.
Формулировка задачи:

Переставить столбцы матрицы в соответствии к возрастанию элементов третьей строки

Объявил матрицу, организовал ввод её элементов с клавиатуры. Понимаю, что дальше нужно использовать цикл+метод пузырька, но в какой форме бы я не записал это, получается полнейшая дичь и программа работает не правильно. Скорее всего я не понимаю логики процесса. Прошу ветеранов объяснить, что и как и по возможности привести пример кода.

Мой код (Объявление и заполнение матрицы):

Помощь в решении задач

«Всё сдал!» — онлайн-сервис помощи студентам.
Здесь помогают с учёбой без посредников

Заполните форму и узнайте цену

Ошибка

Цены ниже –
качество выше!

Вы работаете с экспертами напрямую,
не переплачиваете посредникам, поэтому
наши цены в 2-3 раза ниже

Последние размещенные задания

Английский язык модуль 3.

Контрольная, Английский язык

Срок сдачи к 18 нояб.

тех.характеристики в виде таблицы обзор на датчики: давления масла

Поиск информации, Контроллеры, датчики, преобразователи частоты для шгн

Срок сдачи к 29 нояб.

Тесты онлайн. — межкультурная коммуникация. выполнить можно в любое время в течении

Срок сдачи к 20 нояб.

Длительность :1,5 часа; по Мск ; 2 задачи


Онлайн-помощь, Международные стандарты финансовой отчётности

Срок сдачи к 15 нояб.

Феномен русского казачества в 16-18 веках.

Срок сдачи к 10 дек.

Написать отчет по практике

Отчет по практике, Организация торговой деятельности, коммерция

Срок сдачи к 18 нояб.

17 страниц, пример с обьяснениями в прикрепленном.

Срок сдачи к 18 нояб.

Курсовая по предмету «государственное и муниципальное управление»

Курсовая, государственное и муниципальное управление

Срок сдачи к 18 нояб.

Здравствуйте, прошу ответить о стоимости и сроках выполнения

Срок сдачи к 20 нояб.

Написать ответ на вопрос

Эссе, предпринимательское право

Срок сдачи к 15 нояб.

Решить задачу по физике

Решение задач, Физика

Срок сдачи к 14 нояб.

Структурные сдвиги в российской экономике 90-х годов

Срок сдачи к 27 нояб.

Курсовая, экономика организации и предприятия

Срок сдачи к 14 нояб.

Выполнить дипломную работу

Диплом, Управление персоналом

Срок сдачи к 1 янв.

Решение задач, Линейная алгебра

Срок сдачи к 27 нояб.

Выполнить две контрольные по Английскому. ватц

Контрольная, Английский язык

Срок сдачи к 17 нояб.

Написать эссе 3-5 стр

Срок сдачи к 14 нояб.

Написать отчет по практике

Отчет по практике, Организация торговой деятельности, коммерция

Срок сдачи к 18 нояб.

Решение задач по предметам

Отзывы студентов о нашей работе

обратились к нам
за последний год

работает с нашим сервисом


заданий и консультаций

заданий и консультаций

выполнено и сдано
за прошедший год

Разместите задание, а
мы подберём эксперта

Сайт бесплатно разошлёт задание экспертам.
А эксперты предложат цены. Это удобнее, чем
искать кого-то в Интернете

Цены ниже в 2-3 раза

Вы работаете с экспертами напрямую, поэтому цены
ниже, чем в агентствах

Доработки и консультации
– бесплатны

Доработки и консультации в рамках задания бесплатны
и выполняются в максимально короткие сроки

Гарантия возврата денег

Если эксперт не справится — мы вернем 100% стоимости

Мы проводим строгий отбор экспертов. На сайте
работают только специалисты с высшим образованием,
имеющие в дипломе оценки «хорошо» и «отлично»

На связи 7 дней в неделю

Вы всегда можете к нам обратиться — и в выходные
и в праздники

Гарантия возврата денег

Эксперт получил деньги за заказ, а работу не выполнил?
Только не у нас!

Деньги хранятся на вашем балансе во время работы
над заданием и гарантийного срока

Гарантия возврата денег

В случае, если что-то пойдет не так, мы гарантируем
возврат полной уплаченой суммы

Переживаете
за доработки?
Они бесплатны

С вами будут работать лучшие эксперты.
Они знают и понимают, что работу доводят
до конца

С нами с 2014
года

Помог студентам: 1810 Сдано работ: 1810

С нами с 2015
года

Помог студентам: 2750 Сдано работ: 2750

С нами с 2020
года

Помог студентам: 744 Сдано работ: 744

С нами с 2013
года

Помог студентам: 1259 Сдано работ: 1259

Часто задаваемые вопросы

1. Сколько стоит помощь?

Цена, как известно, зависит от объёма, сложности и срочности. Особенностью «Всё сдал!» является то, что все заказчики работают со экспертами напрямую (без посредников). Поэтому цены в 2-3 раза ниже.

Специалистам под силу выполнить как срочный заказ, так и сложный, требующий существенных временных затрат. Для каждой работы определяются оптимальные сроки. Например, помощь с курсовой работой – 5-7 дней. Сообщите нам ваши сроки, и мы выполним работу не позднее указанной даты. P.S.: наши эксперты всегда стараются выполнить работу раньше срока.

3. Выполняете ли вы срочные заказы?

Да, у нас большой опыт выполнения срочных заказов.

4. Если потребуется доработка или дополнительная консультация, это бесплатно?

Да, доработки и консультации в рамках заказа бесплатны, и выполняются в максимально короткие сроки.

5. Я разместил заказ. Могу ли я не платить, если меня не устроит стоимость?

Да, конечно — оценка стоимости бесплатна и ни к чему вас не обязывает.

6. Каким способом можно произвести оплату?

Работу можно оплатить множеством способом: картой Visa / MasterCard, с баланса мобильного, в терминале, в салонах Евросеть / Связной, через Сбербанк и т.д.


7. Предоставляете ли вы гарантии на услуги?

На все виды услуг мы даем гарантию. Если эксперт не справится — мы вернём 100% суммы.

8. Какой у вас режим работы?

Мы принимаем заявки 7 дней в неделю, 24 часа в сутки.

Задать вопрос

Ну что, приступим?

Отправьте заявку и получите ответ с предложениями
по цене и срокам в течение часа.

Решение задач по любым видам дисциплин, — химия, физика, математика, экономика, — требует определенного уровня знаний и затрат такого важного ресурса, как личное время. Ситуация усложняется еще и тем, что в ВУЗах задания на порядок сложнее, чем в школьных учреждениях, а времени в несколько раз меньше, ведь необходимо писать рефераты, практические работы, доклады и другие виды заданий. Кроме того, некоторые студенты могут иметь семьи или ходить на работу. Возникает вопрос, как все успеть? Ответ прост — загляните на виртуальный портал «Все Сдал!». Здесь вам предложат помощь в решении задач любого уровня сложности по всем предметам. Этот сервис уже более 5 лет помогает студентам, облегчая учебный процесс.

Актуальность и востребованность данной услуги обусловлена еще и тем, что воспользоваться ею может любой желающий в удобное для себя время, в режиме онлайн. Для этого вовсе не обязательно ехать куда-то в офис, подать заявку, оплатить услугу, получить на руки грамотно выполненную и правильно оформленную работу, можно прямо в Интернете. Пожалуй, каждый согласиться, что это очень удобно и не отнимет много времени.

«Все Сдал!»недорогое и быстрое решение задач

Работать с сервисом «Все Сдал!» довольно просто. Студенту понадобиться совсем мало времени, чтобы заполнить специальную форму заявки. Сделать это можно прямо здесь и сейчас! Очень важно при этом указать тип работы, сроки выполнения здания, а также предмет и тему. Особенность данного виртуального ресурса заключается в том, что студент получает возможность самостоятельно выбрать исполнителя своей работы. При этом заказчик может руководствоваться ценой, которую предлагают специалисты и отзывами от благодарных студентов, уже прибегнувших к услугам «Все Сдал!». И это еще не все! Так как студент будет работать напрямую с исполнителем, стоимость будет в несколько раз дешевле, ведь необходимость платить за услуги посредников отпадает.

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

Особенности и преимущества сервиса «Все Сдал!»:

  • Онлайн помощь в решении задач могут получить студенты из любого уголка России и стран СНГ
  • Исполнители не нарушают сроки
  • Все выполненные работы проходят проверку на плагиат
  • 100% качество предоставляемых услуг
  • Сервис работает круглосуточно

С нами очень просто и выгодно сотрудничать, убедитесь в этом сами, подавайте заявку, — и уже в кратчайший период времени можно будет получить предложения от исполнителей! 3000+ исполнителей работают на сайте!

https://vsesdal.com/kursovaya-rabota Заказать курсовую работу

Сегодня в Интернете можно встретить множество сайтов, которые предлагают написать любые виды студенческих работ. На виртуальных ресурсах полно объявлений, такого характера как: «заказать курсовую в России», «курсовая работа на заказ», «написание курсовых», и многие другие. Согласитесь, в таком количество предложений довольно легко запутаться. И тут перед студентом постает вопрос, как не ошибиться и не дать себя обмануть? Конечно, хотелось бы заказать курсовую работу и быть на все 100% уверенным в том, что задание будет выполнено безукоризненно качественно. Предлагаем воспользоваться услугами проверенного и надежного онлайн помощника «Все Сдал!», который за пять лет своей деятельности зарекомендовал себя исключительно с положительной стороны, и пользуется особым спросом у всех студентов нашей страны.

Написание курсовой работы требует от студентов затрат личного времени, знаний, полного погружения в тему. Только так можно предоставить на суд преподавателю достойно выполненную работу. Однако не всем студентам под силу справится с написанием курсовой, у кого-то не хватает времени, кто-то не до конца освоил материал. У каждого существуют свои объективные причины, по которым он не может приступить к самостоятельному выполнению задания. Не стоит отчаиваться и думать, что ждать помощи не откуда, «Все Сдал!» выручит в любое время дня и ночи.

«Все Сдал!» помощь от профессиональных исполнителей

Заглянув на сайт интернет биржи «Все Сдал!», каждый студент может заказать курсовую работу у исполнителя, которого он выберет самостоятельно. Отзывы от благодарных заказчиков, уже успевших воспользоваться услугами того или иного исполнителя, помогут сделать правильный вывод о компетентности специалиста, которому будет доверено написание работы. Кроме того, исполнители предлагают свою цену за выполнение работы, поэтому у заказчика есть возможность выбрать самый доступный вариант, который будет соответствовать его финансовым возможностям.

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

Вот еще несколько аргументов в пользу онлайн помощника «Все Сдал!»:

  • Курсовые работы пишутся преподавателями, аспирантами, кандидатами наук
  • Доработка и корректировка заданий осуществляется абсолютно бесплатно
  • Соблюдаются сроки выполнения заказа
  • Высокий процент уникальности всех выполненных работ
  • Заказать курсовую работу можно в любое удобное время, сервис предоставляет свои услуги круглосуточно

Помимо курсовой, здесь можно заказать дипломную, контрольную или любую другую студенческую работу, для «Все Сдал!» нет ничего не возможного!

Небольшая задача на C/C++ для разминки

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

Используя только одну переменную типа unsigned char (8-битный по условию), ровно один оператор цикла и не используя условного оператора if и условной тернарной операции (?:), создать цикл ровно из 256 шагов, тело которого, даже если оно пусто, исполняется ровно 256 раз. В частном случае такой цикл может вывести все целые числа от 0 до 255 включительно.

Решение задачи

Интересно, что совокупность приведенных в задаче условий требует применения цикла do и не позволяет обойтись операторами while или for. Именно применение последних двух циклов является основной ошибкой при решении данной задачи, приводящей в большинстве случаев к пропуску шага (выполнению 255 шагов вместо 256 требуемых в услови) или к созданию бесконечного цикла. На такую ошибку наталкивает то, что циклы for/while используются значительно чаще do, я где-то встречал субъективную оценку соотношения 95%:5%.

Цикл повторяет выполнение двух действий: проверку условия и исполнение тела. Способом чередования этих действий и различаются циклы с предусловием (while) и с постусловием (do). Между циклами много общего, в частности, используя условный оператор if и один из видов цикла всегда можно сформировать конструкцию, которая будет вести себя как вторая разновидность цикла (например, из while и if можно написать do). Отсюда и одно из требований задачи: не использовать условный оператор if. Тем не менее различие в порядке действий наделяет две разновидности циклов различием в свойствах. Во-первых, тело цикла с предусловием может не выполниться ни разу, в то время как тело цикла с постусловием выполняется всегда хотя бы один раз. Во-вторых, в циклах for/while проверка условия выполняется на 1 раз больше, чем тело цикла, а в do тело цикла выполняется столько же раз, сколько проверка условия или на 1 раз больше если тело принудительно прерывает цикл. Поэтому «ровно 256 шагов» в условии задачи является избыточным, а «тело которого,… исполняется ровно 256 раз» — нет. Вообще, формулировка «цикл из 256 шагов» — уязвима: если условие проверялось 256 раз, а тело выполнялось 255 раз, можно ли утвержать, что цикл состоит только из 255 шагов? Понятно, что проверка условия может быть операцией любой сложности и выполнять любые побочные действия. Ранее было сформулировано промежуточное ограничение: запрет на выполнение требуемых операций тела цикла (например, вывода) при проверке условия. Однако требование исполнения именно тела цикла ровно 256 раз является более строгим, конкретным и, в кончном итоге, корректным. На более абстрактном уровне преобразование условия в последовательность «действие, затем условие», где действие и условие связаны операциями последовательного вычисления (,), логическими операциями или иным способом, фактически делает проверку условия не началом итерации цикла с предусловием и превращает его в цикл с постусловием.

Наконец, идиомой цикла из N шагов в C/C++ является: for (int i = 0; i Теги:

  • C
  • C++
  • циклы
  • операторы циклов

Добавить метки

Задачи по программированию на C++

Задача 1. Телешоу. Решение на C++

В новом интеллектуальном телешоу участнику, проходящему в суперфинал, предлагается следующая игра: на каждом из n секторов большого барабана записывается буква латинского алфавита li. После минуты на размышления игрок указывает одну из позиций на барабане i. Его выигрыш вычисляется по такому правилу: для каждой позиции j меньшее из расстояний по и против часовой стрелке от i до j, измеренное в секторах, умножается на абсолютною величину разности номеров в алфавите букв li и lj , после чего все такие величины суммируются.

А Вы можете написать программу, находящую способ получения наибольшего выигрыша?

Первая строка входного файла INPUT.TXT содержит натуральное число n (1 ≤ n ≤ 100000) — размер барабана. Во второй строке задаются разделенные пробелами строчные латинские буквы, записанные на барабане.

В первой строке выходного файла OUTPUT.TXT выведите наибольший выигрыш, который можно получить при заданном расположении букв на барабане. Во второй строке выведите номер какого-нибудь из секторов, на который игрок должен для этого указать.

Задача 2. Треугольники — 4. Решение на C++


У Сени есть шоколадка, составленная из нескольких прилегающих друг к другу плиточек в форме правильных треугольников. Его брат Женя нашел эту шоколадку и решил сделать ее треугольной, съев все лишнее (ведь треугольные шоколадки намного вкуснее). Сколькими способами он может это сделать?

Например, из такой шоколадки:

можно сделать треугольную шоколадку со стороной 1 шестью способами или шоколадку со стороной 2 двумя способами. Итого восемь способов.

Входные данные

Форма шоколадки задается ее границей в порядке обхода по часовой стрелке. Первая строка входного файла INPUT.TXT содержит число n — количество отрезков на границе (1 ≤ n ≤ 5000). Далее n чисел от 1 до 6, задающих направление движения по границе (см. рисунок).

Выходные данные

В выходной файл OUTPUT.TXT выведите одно число — количество способов.

Задача 3. Узор. Решение на C++

В комнате решили сделать паркетный пол. Причем есть задумка выложить на полу некоторый узор. Плитки паркета, которыми выкладывается пол комнаты, состоят из квадратиков 1×1, каждый из которых может быть либо белым, либо черным. В свою очередь, комната имеет размеры NxM. На плане комнаты указано, какой квадрат комнаты какого цвета должен быть. Существует несколько форм паркетных плиток:

Квадратики одной паркетной плитки могут быть окрашены по-разному. Может существовать несколько типов плиток одинаковой формы, но окрашенных по-разному. Плитки разных типов могут иметь разную стоимость. Количество плиток каждого типа не ограничено. Плитки разрешается как угодно поворачивать (на углы, кратные 90 градусам). Не разрешается разламывать плитки, а также класть их лицевой стороной вниз.

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

Входные данные

В первой строке входного файла INPUT.TXT записаны три числа: N, M (размеры комнаты) и K (количество доступных видов плитки). 1

— это число от 1 до 4, описывающее форму плитки (см. рисунок выше)

— это натуральное число, не превосходящее 10000, задающее стоимость одной плитки такого типа

— это от одного до трех чисел 0 или 1. Количество чисел совпадает с количеством квадратиков, из которых состоит плитка. Числа задают цвета квадратиков плитки в том порядке, в каком квадратики пронумерованы на рисунке.

Заказать задачи по программированию от 500 руб.

Kwork — это удобный магазин фриланс-услуг.
Адекватные цены, скорость, а главное, 100% гарантия возврата средств!

Заказать от 500 руб. легко, как купить товар в интернет-магазине

Выберите услугу

Десятки тысяч услуг в каталоге и отличные предложения на бирже ?

Среди десятка тысяч услуг

Оплатите

Один клик, и услуга
заказана ?

Получите результат

Качественный результат в срок и гарантия возврата средств ?

Качественно и в срок

Лучшие предложения от фрилансеров

Закажите на Kwork — сэкономьте время, деньги и нервы

05.11.2020, 13:43 #1

В среднем 1 день 11 часов

Из 70 000+ исполнителей

СТУДИИ KWORK
Скорость выполнения
Выбор исполнителей
Простота заказа

Долгие согласования, длинные ТЗ, подписание договора и другая головная боль

Пара кликов — заказ готов. Минимум обсуждений

Возврат средств

Вероятность стремится к нулю

100% гарантия возврата в 1 клик

Квалифицированные специалисты в области информационных технологий очень востребованы на современном рынке труда. В компаниях успешно работает множество программистов, закончивших высшие учебные заведения и талантливые самоучки. Если человек хочет стать профессионалом в области подготовки и реализации качественного программного обеспечения, то он не должен ограничивается прослушиванием лекций и изучением теоретического материала. Важно, научиться находить верные решения сложных, неординарных задач.

Задачи по программированию, качественно подобранные с целью эффективного закрепления материала, лучше решать под контролем квалифицированного репетитора. Он поможет с решением сложных задач, подскажет оптимальное решение, своевременно исправит допущенные ошибки. Решение простых и сложных задач является обязательной частью обучения, которая позволяет получить практический опыт в написании качественного программного обеспечения. Найти хорошего репетитора не проблема. В сети есть множество анкет специалистов, готовых помочь с изучением практически любого языка программирования.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих