fentg.com

ФОРУМЪТ на ФЕНОВЕТЕ на НТГ
Дата и час: Нед Апр 11, 2021 8:10 am

Часовете са според зоната UTC + 2 часа [ DST ]


Правила на форума


Натиснете за да видите правилата



Напиши нова тема Отговори на тема  [ 128 мнения ]  Отиди на страница Предишна  1 ... 9, 10, 11, 12, 13  Следваща
Автор Съобщение
 Заглавие: Re: МЛАДИ ПРОГРАМИСТИ...
МнениеПубликувано на: Нед Фев 22, 2009 4:08 pm 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
За днес въобще не съм имал предвид да ходя, добре, че никой не е бил... :haha:
Я вижте това:
Код:
#include<stdio.h>
#include<conio.h>

void hk(char a, char c, char b, int n)
{
  if (n==1) printf("Disk 1 from %c to %c\n",a,c);
  else
  {
   hk(a,b,c,n-1);
   printf("Disk %d from %c to %c\n",n,a,c);
   hk(b,c,a,n-1);
  }
}

void main()
{char a='A',b='B',c='C';
int n=4;

hk(a,c,b,n);

getch();
}
Как го разбирате?
А кой може да направи така, че на всеки ред с инструкция за преместване да излиза и номер 1, 2, 3... в началото му (на реда), така че накрая да се знае колко са преместванията... (използвайки горният код...)
Интересно е и колко човека (Митака да си трае) могат да кажат заглавието на горната задача, идеален пример за леснота в рекурсивното решаване, и на който Митака търси нерекурсивно решение...

Който има зор в досещането - ето един жокер:
Вижте това...

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: МЛАДИ ПРОГРАМИСТИ...
МнениеПубликувано на: Пет Фев 27, 2009 9:59 pm 
Offline
Аватар

Регистриран на: Чет Дек 04, 2008 9:45 pm
Мнения: 97
Местоположение: България
Хей хора, за утре, Събота 28 февруари ще се виждаме в 11:30 специално PIPO и parcala ако имат възможност, митаче, ти си твърд няма да те подканям - ти си знаеш :laught: Люси, чакаме и теб! :pilot:

_________________
...А когато всички се помислите за големи звезди, не забравяйте, кой е вашият небосклон
DJ Nifanta


Върнете се в началото
 Профил  
 
 Заглавие: Re: МЛАДИ ПРОГРАМИСТИ...
МнениеПубликувано на: Пет Фев 27, 2009 10:17 pm 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
Целувам Ви Всичките!

Докато сте топли!

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: МЛАДИ ПРОГРАМИСТИ...
МнениеПубликувано на: Нед Мар 01, 2009 1:14 am 
Offline

Регистриран на: Сря Ное 19, 2008 5:48 pm
Мнения: 513
Условието на новата задача е : Потребителят въвежда 20 редица от 20 цифри и програмата връща най-големия сбор от цифрите на подредица от основната редица.

_________________
Toва което не може да се опише с думи, се описва с музика.


Върнете се в началото
 Профил  
 
 Заглавие: Re: МЛАДИ ПРОГРАМИСТИ...
МнениеПубликувано на: Нед Мар 01, 2009 12:56 pm 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
mitko написа:
Условието на новата задача е : Потребителят въвежда 20 редица от 20 цифри и програмата връща най-големия сбор от цифрите на подредица от основната редица.

Е**ти условието на задачата... Има две леко различаващи се задачи: за най-дългата растяща подредица и за най-голямата (като сбор) ненамаляваща...
За втората задача става въпрос, която може да се формулира и без да се използват понятията редица и подредица - примерно така: (това с 20 числа е стесняване на обхвата) Въвеждат се краен брой числа. След приключване на въвеждането да се съобщи най-големият сбор на поредно въведени числа...

Предлагам първо да се коментира условието, за да е сигурно, че е разбрано еднозначно...

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: МЛАДИ ПРОГРАМИСТИ...
МнениеПубликувано на: Нед Мар 01, 2009 9:26 pm 
Offline

Регистриран на: Сря Ное 19, 2008 5:48 pm
Мнения: 513
Програмата поема редица от 20 числа и връща сбора на подредицата с най-голям сбор. Подредица е част от редицата съставена само от съседни числа.

_________________
Toва което не може да се опише с думи, се описва с музика.


Върнете се в началото
 Профил  
 
 Заглавие: Re: МЛАДИ ПРОГРАМИСТИ...
МнениеПубликувано на: Нед Мар 01, 2009 9:41 pm 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
ОК - може ли да се подходи в движение, така че и в случай на незнаен брой числа да се съобщи отговора без допълнителни проверки? Т.е. мислим в перспектива при същата задача, но с неизвестен отнапред брой на числата и с приключване по сигнал...

С думи може ли да се обясни решението?

Опит за словесен алгоритъм?

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: МЛАДИ ПРОГРАМИСТИ...
МнениеПубликувано на: Пет Юли 24, 2009 11:13 pm 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
Ейййй, така и я за***хме тази задача, пък аз си направих труда тогава да я реша и то по сигнал за край - "празно" число, т.е. ентер...
Код:
#include<stdio.h>
#include<conio.h>
void main()
{int n,curs,maxs=0;
if(scanf("%d",&n))
{maxs=curs=n;
  while(scanf("%d",&n))
  {if(maxs<0&&n>maxs)
   {maxs=n; curs=0;}
   if(maxs>=0)
   {curs+=n;
    if(curs<0)curs=0;
    if(curs>maxs)maxs=curs;
   }
  }
}
printf("%d",maxs);
getch();
}


Ще трябва да си я пробвам пак... Забравил съм как се компилира с "ембаркадерото"... ;-)

След възстановяване на паметта за работа с компилатори се усетих, че сигналът за край съм го измислил да е при въвеждане на "нечисло", т.е. примерно буква...

Иска ми се да се измислят подходящи тестови редици за пробване... Има няколко случая при които не ми работеше...

Та това (според мен) е задача за динамично решаване - разбирай "в движение". След настъпване на сигнала за край отговорът е ясен, нищо не се прави по-нататък... Т.е. с въвеждането на всяко число се правят съответните изчисления...

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: МЛАДИ ПРОГРАМИСТИ...
МнениеПубликувано на: Нед Фев 21, 2010 11:42 pm 
Offline

Регистриран на: Сря Ное 19, 2008 5:48 pm
Мнения: 513
Randomizing, някой знае ли някой начин, защото ми стана интересно от известно време, как би могло да става.

_________________
Toва което не може да се опише с думи, се описва с музика.


Върнете се в началото
 Профил  
 
 Заглавие: Re: МЛАДИ ПРОГРАМИСТИ...
МнениеПубликувано на: Нед Фев 21, 2010 11:57 pm 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
В повечето езици има функции, които връщат "случайни" числа в зададен интервал...

Ето един php прост начин - при всяко посещаване на линка (или рефрешване на страницата (F5)) получаваш "случайно" число от 2 до 6... Пробвах и много рядко получавам двойка например... Доста често получавам повторения...

_________________
Изображение


Върнете се в началото
 Профил  
 
Покажи мненията от миналия:  Сортирай по  
Напиши нова тема Отговори на тема  [ 128 мнения ]  Отиди на страница Предишна  1 ... 9, 10, 11, 12, 13  Следваща

Часовете са според зоната UTC + 2 часа [ DST ]


Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Превод: Ioan Filipov