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

Вернуться   Форум программистов > Новички в программировании > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 16.12.2016, 01:06   #1
mvlx
Новичок
 
Регистрация: 16.12.2016
Сообщений: 3
Репутация: 10
По умолчанию [Си] Задача о лучнике, стреляющем по мишени

Привет, помогите пожалуйста написать программу, которая определяет как должен стрелять лучник, чтобы набрать ровно 100 очков?
mvlx вне форума   Ответить с цитированием
Старый 16.12.2016, 01:13   #2
Son Of Pain
Профессионал
 
Регистрация: 23.12.2010
Адрес: Киев
Сообщений: 1,129
Репутация: 370

icq: 388676648
По умолчанию

Метко! В центр мишени! )
Son Of Pain вне форума   Ответить с цитированием
Старый 16.12.2016, 03:00   #3
olej.tsil
Заблокирован
 
Регистрация: 30.11.2016
Сообщений: 215
Репутация: -8
По умолчанию

Цитата:
Сообщение от Son Of Pain Посмотреть сообщение
В центр мишени! )
Код:

#include <iostream>
#include <algorithm> 
#include <list>
using namespace std;

int mishen[] = { 13, 19, 22, 27, 35, 40 },
    n = sizeof( mishen ) / sizeof( mishen[ 0 ] );

ostream& operator <<( ostream& out, const list<int>& l ) {
   for( auto i = l.begin(); i != l.end(); i++ )
      out << *i << " ";
   return out << "= " << accumulate( l.begin(), l.end(), 0 );
}

void strelok( int sum, const list<int>& seq ) {
   for( int i = 0; i < n; i++ ) {
      if( sum < mishen[ i ] ) break;
      list<int> lcp( seq );
      lcp.push_back( mishen[ i ] );
      if( sum == mishen[ i ] ) {
         cout << lcp << endl;
         break;
      }
      if( sum > mishen[ i ] )
         strelok( sum - mishen[ i ], lcp );
   }
}

int main() {
   strelok( 100, list<int>() );
   return 0;
}

Код:

[olej@dell function]$ g++ luk.cc -std=c++11 -o luk
[olej@dell function]$ ./luk 
13 13 13 13 13 13 22  = 100
13 13 13 13 13 22 13  = 100
13 13 13 13 13 35  = 100
13 13 13 13 22 13 13  = 100
13 13 13 13 35 13  = 100
13 13 13 22 13 13 13  = 100
13 13 13 35 13 13  = 100
13 13 22 13 13 13 13  = 100
13 13 35 13 13 13  = 100
13 19 19 22 27  = 100
13 19 19 27 22  = 100
13 19 22 19 27  = 100
13 19 22 27 19  = 100
13 19 27 19 22  = 100
13 19 27 22 19  = 100
13 22 13 13 13 13 13  = 100
13 22 19 19 27  = 100
13 22 19 27 19  = 100
13 22 27 19 19  = 100
13 27 19 19 22  = 100
13 27 19 22 19  = 100
13 27 22 19 19  = 100
13 35 13 13 13 13  = 100
19 13 19 22 27  = 100
19 13 19 27 22  = 100
19 13 22 19 27  = 100
19 13 22 27 19  = 100
19 13 27 19 22  = 100
19 13 27 22 19  = 100
19 19 13 22 27  = 100
19 19 13 27 22  = 100
19 19 22 13 27  = 100
19 19 22 27 13  = 100
19 19 22 40  = 100
19 19 27 13 22  = 100
19 19 27 22 13  = 100
19 19 27 35  = 100
19 19 35 27  = 100
19 19 40 22  = 100
19 22 13 19 27  = 100
19 22 13 27 19  = 100
19 22 19 13 27  = 100
19 22 19 27 13  = 100
19 22 19 40  = 100
19 22 27 13 19  = 100
19 22 27 19 13  = 100
19 22 40 19  = 100
19 27 13 19 22  = 100
19 27 13 22 19  = 100
19 27 19 13 22  = 100
19 27 19 22 13  = 100
19 27 19 35  = 100
19 27 22 13 19  = 100
19 27 22 19 13  = 100
19 27 27 27  = 100
19 27 35 19  = 100
19 35 19 27  = 100
19 35 27 19  = 100
19 40 19 22  = 100
19 40 22 19  = 100
22 13 13 13 13 13 13  = 100
22 13 19 19 27  = 100
22 13 19 27 19  = 100
22 13 27 19 19  = 100
22 19 13 19 27  = 100
22 19 13 27 19  = 100
22 19 19 13 27  = 100
22 19 19 27 13  = 100
22 19 19 40  = 100
22 19 27 13 19  = 100
22 19 27 19 13  = 100
22 19 40 19  = 100
22 27 13 19 19  = 100
22 27 19 13 19  = 100
22 27 19 19 13  = 100
22 40 19 19  = 100
27 13 19 19 22  = 100
27 13 19 22 19  = 100
27 13 22 19 19  = 100
27 19 13 19 22  = 100
27 19 13 22 19  = 100
27 19 19 13 22  = 100
27 19 19 22 13  = 100
27 19 19 35  = 100
27 19 22 13 19  = 100
27 19 22 19 13  = 100
27 19 27 27  = 100
27 19 35 19  = 100
27 22 13 19 19  = 100
27 22 19 13 19  = 100
27 22 19 19 13  = 100
27 27 19 27  = 100
27 27 27 19  = 100
27 35 19 19  = 100
35 13 13 13 13 13  = 100
35 19 19 27  = 100
35 19 27 19  = 100
35 27 19 19  = 100
40 19 19 22  = 100
40 19 22 19  = 100
40 22 19 19  = 100

Только при чём здесь "теория алгоритмов"?
olej.tsil вне форума   Ответить с цитированием
Старый 16.12.2016, 04:38   #4
mvlx
Новичок
 
Регистрация: 16.12.2016
Сообщений: 3
Репутация: 10
По умолчанию

Спасибо, но если можно, код в Си было б хорошо
mvlx вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Lazarus(Graph) смоделировать полёт стрелы до мишени. Люди добрые, помогите пожалуйста! Станислав12345 Помощь студентам 7 05.12.2016 18:29
Помогите разобраться с алгоритмом: определить по мишени результаты соревнований по стрельбе Вероника99 Помощь студентам 11 25.01.2014 04:17
Написать движения прицела и мишени _Bac9_ Паскаль 1 08.04.2013 19:41
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Delphi Игра мишени ошибка tenek Помощь студентам 0 21.01.2011 00:25




00:16.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru