Официальный сайт студ.городка НГТУ
Учеба » Помогите с лабой по рекурсии.(1 курс) - СРОЧНО 

#1  04.06.07 21:20

Помогите с лабой по рекурсии.(1 курс) - СРОЧНО

Не знаю как написать!!! Помогите,если знаете или может есть у кого. ОЧЕНЬ СРОЧНО
задание:
Реализовать рекурсивный алгоритм построения цепочки из имеющегося набора костей домино.
(лаба 3.4  - вариант 2)

Offline

#2  05.06.07 21:13

Re: Помогите с лабой по рекурсии.(1 курс) - СРОЧНО

держи

/*----------------Лабораторная работа №3.4-------------

2. Условие задачи:
Реализовать рекурсивный алгоритм построения цепочки из имеющегося
набора костей домино.
3. Описание алгоритма:
На входе программа получает значение половины кости - hf.
mk - признак 'выставленности'(0/1). num - индекс в паре(0/1).
Если функция domino() пробегает весь "массив костей", то возвращается единица -
ограничитель рекурсии. Функция предусматривает переворачивание костей.
4. Текст программы с комментариями:                                      */

# include <iostream.h>
# include <conio.h>
# include <stdio.h>
//--------------------
int ct[][2]={{2,3},{4,5},{1,2},{6,2},{4,3},{3,1},{5,6},{-1,-1}}; // исходный набор
                                                                  //   костей домино
int mk[80];               // метка
//--------------------
int domino (int hf)        // hf - половина кости домино
{
int i;
for (i=0; ct[i][0]!=-1; i++)  // пока есть невыставленные
    if (mk[i]==0) break;
   if (ct[i][0]==-1) return 1;
for (i=0; ct[i][0]!=-1; i++)
  {
   if (mk[i]==1) continue;      // если выставленная, то продолжаем
   if (hf != ct[i][0] && hf != ct[i][1]) continue; // ищем подходящую кость
   mk[i]=1;             // !!! нашли !!!
   int num=0;           // индекс в паре
   if (hf==ct[i][0]) num=1;
   if (domino(ct[i][num]))   // рекурсивный вызов
       {
      cout <<ct[i][num]<<":"<<ct[i][!num]<<" ";
      return 1;
      }
   mk[i]=0;
   }
   return 0;
}
//----------------------
void main ()
{
int k,l;
cout <<"----Recursia-----\n\n";
cout <<"Before - ";
for (l=0;ct[l][0]!=-1;l++)
{
printf ("%d:",ct [l][0] );
printf ("%d ",ct[l][1] );
}
printf ("%c\n");
cout <<" After - ";
for (k=0; k!=9 && !domino (k); k++);
getch ();
}


я с АМ, а ты?не с моего потока?

Исправлено antonoff (05.06.07 21:14)

Offline

#3  11.06.07 11:42

Re: Помогите с лабой по рекурсии.(1 курс) - СРОЧНО

даже спасибо не сказали сволочи)))

Offline

#4  11.06.07 22:15

Re: Помогите с лабой по рекурсии.(1 курс) - СРОЧНО

antonoff, дааа, жизнь - суровая штука!
а после ТАКОГО помогать "абы-кому" - ой, как не охота :)

Offline

#5  11.06.07 22:49

Re: Помогите с лабой по рекурсии.(1 курс) - СРОЧНО

antonoff, спасибо ОГРОМНОЕ. Сдал...

/7ельмень написал(а):

а после ТАКОГО помогать "абы-кому"

я вобще не в общаге живу и в инет выхожу редко!!!  (и то не надолго)
ТАК ЧТО НЕ ХЕР ЛЕЗТЬ СО СВОИМИ ВЫВОДАМИ !!! :-(=)

Offline

#6  11.06.07 22:52

Re: Помогите с лабой по рекурсии.(1 курс) - СРОЧНО

как только  - так сразу и поблагодарил.
и вообще я чо-то не догоняю - щас помогают только за бабки.
Чо если есть, так тяжело дать или скинуть??!!!??
Вот единицы только и отвечают на подобного рода темы(безвозмездно)

Offline

#7  11.06.07 23:34

Re: Помогите с лабой по рекурсии.(1 курс) - СРОЧНО

need help,

need help написал(а):

ТАК ЧТО НЕ ХЕР ЛЕЗТЬ СО СВОИМИ ВЫВОДАМИ !!! :-(=)

1. не ори!
2. не матерись!
3. чё лезишь в чужой разговор?
    или коль пост создал, можешь всех на х"р посылать?
ЗЫЖ по-аккуратнее с имоциями, они могут доставить тебе массу хлопот.

Offline

#8  12.06.07 00:51

juf
Профиль

Re: Помогите с лабой по рекурсии.(1 курс) - СРОЧНО

need help,

1) А что тут догонять? Пока одни разбираются и тренируют мозг, другие водку/пиво пьют и на учёбу забивают. А когда гусь жареный клюнет, начинают канючить.
2) "На халяву" - менталитет пост-советского сознания. Пора бы привыкнуть, что умственная работа тоже имеет цену.
3) На подобные темы отвечать не интересно. Если кто кинет задачу интересную, то тогда всегда пожалуйста. Или, хотя бы, часть решения. Если человек сам пытается что-то сделать, но попадает в ступор, то ему всегда помогут. Ибо видно, что хоть пытается сам, а не сидит на всём готовеньком.

PS: ничего личного. Это так, информация для глубокого размышления.

Offline

#9  12.06.07 14:05

Re: Помогите с лабой по рекурсии.(1 курс) - СРОЧНО

antonoff написал(а):

# include <iostream.h>
# include <conio.h>
# include <stdio.h>
//--------------------
int ct[][2]={{2,3},{4,5},{1,2},{6,2},{4,3},{3,1},{5,6},{-1,-1}}; // исходный набор
                                                                  //   костей домино
int mk[80];               // метка
//--------------------
int domino (int hf)        // hf - половина кости домино
{
int i;
for (i=0; ct[i][0]!=-1; i++)  // пока есть невыставленные
    if (mk[i]==0) break;
   if (ct[i][0]==-1) return 1;
for (i=0; ct[i][0]!=-1; i++)
  {
   if (mk[i]==1) continue;      // если выставленная, то продолжаем
   if (hf != ct[i][0] && hf != ct[i][1]) continue; // ищем подходящую кость
   mk[i]=1;             // !!! нашли !!!
   int num=0;           // индекс в паре
   if (hf==ct[i][0]) num=1;
   if (domino(ct[i][num]))   // рекурсивный вызов
       {
      cout <<ct[i][num]<<":"<<ct[i][!num]<<" ";
      return 1;
      }
   mk[i]=0;
   }
   return 0;
}
//----------------------
void main ()
{
int k,l;
cout <<"----Recursia-----\n\n";
cout <<"Before - ";
for (l=0;ct[l][0]!=-1;l++)
{
printf ("%d:",ct [l][0] );
printf ("%d ",ct[l][1] );
}
printf ("%c\n");
cout <<" After - ";
for (k=0; k!=9 && !domino (k); k++);
getch ();
}

ыыы, знакомый код)) помню, я его сдавал на своём 1курсе (щас 4 заканчиваю), и то он уже не первой свежести был =)

Offline

#10  13.06.07 01:34

Re: Помогите с лабой по рекурсии.(1 курс) - СРОЧНО

need help, у меня это курсачь на 1 курсе ФПМИ был))) даже сохранился еще)

Offline

#11  13.06.07 16:14

Re: Помогите с лабой по рекурсии.(1 курс) - СРОЧНО

Fatboy, да да, твой код, не спорю, из поколения в поколение переходит, и мое будет переходить!)))
АМ РУЛИТ)

Offline

Учеба » Помогите с лабой по рекурсии.(1 курс) - СРОЧНО 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.064 сек.
Выполнено 11 запросов.