С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

подмножества - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++ не понимаю http://www.cyberforum.ru/cpp-beginners/thread60218.html
1. сумму элементов массива с нечетными номерами; 2. сумму элементов массива, расположенных между первым и последним отрицательными элементами; 3. Сжать массив, удалив из него все элементы,...
C++ Как можно пройти через бесконечный цикл ??? У меня случилось что-то вроде парадокса. Прогал я в Eclipse (у него компилятор MinGW, отладчик GDB), напрогал выложенную ниже программу. Компилирую ее, кладу рядом с бинарником файл test.txt с... http://www.cyberforum.ru/cpp-beginners/thread60199.html
C++ Диагонали массива
Алгоритм нахождения диагоналей массива параллельных главной диагонали. Добавлено через 8 минут Привет всем. Я недавно начал изучать С++, остановился на двумерных массивах, не могу придумать...
Одинаковые коды клавиш-стрелочек C++
Есть задача написать меню . В консольном приложении. Состоит из 6ти пунктов(строчек) Выбор строчи с помощью клавиш вверх вниз , потверждение с пом-ю ентера. Всё написал , должно работать. И вдруг...
C++ Считывание из фаила http://www.cyberforum.ru/cpp-beginners/thread60132.html
В общем у меня есть текстовый файл и табличкой внутри и данными примерно вот такого содеражания. ЙННННЛНННННННННННННННННННННННЛННННЛНННЛНННННННННННЛННННЛННННЛННННЛННННЛНННННН» єtab є ...
C++ Работа со строками. Програма работает, но не совсем так. помогите пожалуйста мне задали увеличить строку символов за счет вставки между словами пропусков я сделал программу но пропусков она не вставляет а выводит ту же строку и какие-то символы сердечка... подробнее

Показать сообщение отдельно
Chea
6 / 6 / 0
Регистрация: 29.09.2009
Сообщений: 41
01.11.2009, 08:14
Код
# include <conio.h>
# include <stdio.h>
# include <string.h>

char * _rez;
int func (  char* mas,   // ìàññèâ - èñõîäíîå ìíîæåñòâî
            int n,      // ðàçìåðíîñòü ìíîæåñòâà
            int sum,    // òðåáóåìàÿ ñóììà
            int s,      // óæå íàéäåííàÿ ñóììà
            char* rez    // ñîáèðàåìîå ïîäìíîæåñòâî
         )
   {
      if (s==sum) 
         {
            printf ("%s\n",_rez);
            return 1;
         }
      if (s>sum) return 0;
      if (n<=0) return 0;
      for (int i=0;i<n;i++)
         {
            rez[0]=mas[i];
            func(mas+i+1,n-i-1,sum,s+mas[i]-'0',rez+1);
            rez[0]=0;
         }
      
   }

int main ()
{
   char mas[]="123456";
   int n=strlen(mas);
   int sum=6;
   char * rez=new char[n+1];
   int i;

   _rez=rez;

   for (i=0;i<=n;i++) rez[i]=0;

    func (mas,n,sum,0,rez);
   delete rez;
   getch();      
}
Добавлено через 2 минуты
int func ( char* mas, // массив - исходное множество
int n, // размерность множества
int sum, // искомая сумма
int s, // уже набранная сумма
char* rez // собираемое подмножество
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.