Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2009, 19:53   #91
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Нет хочу чтобы вы мне написали ещё подобных задач но с другими условиями и я сам попытался их решить.
Я не буду придумывать вам задачи. У меня нет на это времени.
К тому же, я не преподаватель.
Если будут вопросы - задавайте.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 11.05.2009, 18:01   #92
patriarch
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 62
По умолчанию

а как можно вывести все последовательности состоящие из нулей и единиц,заданной длины такие что в них нету двух подряд стоящих единиц?
patriarch вне форума Ответить с цитированием
Старый 11.05.2009, 18:06   #93
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от patriarch
а как можно вывести все последовательности состоящие из нулей и единиц,заданной длины такие что в них нету двух подряд стоящих единиц?
Рекурсией.
Спускаетесь до заданной глубины (длины). В функцию передавайте сформированную строку и текущую глубину. Нужно проверять предыдущий символ и ставить текущим отличный от него.
При достижении заданной глубины выводите сформированную строку.

Ничего сложного.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.05.2009, 16:36   #94
patriarch
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 62
По умолчанию

а подскажите как сделать чтобы выводились последовательности и начинающиеся с нуля
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main()  
{                          
    int l,i=0,n,j,fl;
    char s[255];  
                         
printf("Vvedite dlinu\n");
    scanf("%i",&n);          
                            
    do                         
    {
         i++;               
         itoa(i,s,2);
         l=strlen(s);
    }while(l<n);

    do
    {                           
         fl=0;              

         for(j=0;j<l;j++)
              if(s[j]=='1' && s[j+1]=='1')
                   fl=1;
         if(fl==0)
              printf("%s\n",s);
         i++;
         itoa(i,s,2);
         l=strlen(s);
    }while(l==n);
    
}
patriarch вне форума Ответить с цитированием
Старый 19.05.2009, 16:54   #95
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вы что, формируете строку? Зачем?
Вот через рекурсию:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

void fun(int n, int tek, char str[])
{
 if(tek==n)
  {
   str[tek]=0;
   printf("%s\n",str);
   return;
  }
  str[tek]='0';
  fun(n,tek+1,str);
  if(tek==0 || str[tek-1]!='1')
   {
    str[tek]='1';
    fun(n,tek+1,str);
   }
}

int main()
{
int i,n;
char s[255];
strcpy(s,"");

printf("Vvedite dlinu\n");
scanf("%i",&n);

fun(n,0,s);

getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.05.2009, 19:35   #96
patriarch
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 62
По умолчанию

Цитата:
Сообщение от Sazary Посмотреть сообщение
Вы что, формируете строку? Зачем?
[/CODE]
ну просто я думал так будет легче,кстати а какой метод вашего решения?
patriarch вне форума Ответить с цитированием
Старый 19.05.2009, 19:43   #97
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от patriarch
а какой метод вашего решения?
Как я и сказал - рекурсией.
Формируем первый символ. Переходим ко второму. Если предыдущий единица, то ставим ноль и переходим к следующему. Если же предыдущий был нулем, то пробуем оба варианта.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 26.05.2009, 15:47   #98
patriarch
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 62
По умолчанию

а скажите как решить задачу:"сформировать максимально возможно длинную комбинацию доминошек"
Идея делать стеком и перебирать варианты.а как реализовывать?
patriarch вне форума Ответить с цитированием
Старый 26.05.2009, 15:55   #99
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от patriarch
а скажите как решить задачу:"сформировать максимально возможно длинную комбинацию доминошек"
Я бы решал опять же через рекурсию.
Есть массив домино. Берем первую доминошку.
Потом берем следующую. Смотрим, подходит ли. Если да, то оставляем ее и спускаемся на 3-й уровень. Продолжаем, пока не переберем все, что есть.
Если доминошка не подходит, то берем другую из тех, которые еще не использовались. Если зашли в тупик (больше нечего брать), смотрим длину цепи. Если больше максимума (который изначально = 0), то запоминаем.

А вообще, тема уже ушла в глубокий оффтоп.
Читайте правила. Одна задача - одна тема.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 15.06.2009, 11:58   #100
patriarch
Пользователь
 
Регистрация: 24.03.2009
Сообщений: 62
По умолчанию

Цитата:
Сообщение от Sazary Посмотреть сообщение
А вообще, тема уже ушла в глубокий оффтоп.
Читайте правила. Одна задача - одна тема.
А если темы у задач схожие??все же рискну..

Вторая задача: Дана последовательность Mj литерных матриц 20*30. Нужно
найти число матриц Mk, что для некоторой матрицы Mi, k > i,
выполняется следующее условие: Ф(Mi) > i + 10. Где функция Ф
возвращает число упорядоченных столбцов матрицы в которых есть хотя бы
один символ цифры.


Третья задача: Дано бинарное дерево. Нужно посчитать число
четных чисел, лежащих ниже заданного уровня.
patriarch вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение матрицы методом союзной матрицы dofmat Помощь студентам 6 03.10.2011 15:01
Чистый бинарный код НикСерг Общие вопросы C/C++ 16 09.11.2009 15:06
деревья ShenDy Общие вопросы C/C++ 0 13.03.2009 19:18
Деревья Mitron Общие вопросы Delphi 5 01.02.2008 10:09
Деревья Зёка_студент Помощь студентам 1 26.12.2007 21:47