Pomoc pri tvorbe programu

Programovacie jazyky, rady, poradňa...
jankasl
Novice
Novice
Príspevky: 2
Registrovaný: 28 feb 2015, 10:52

Pomoc pri tvorbe programu

Príspevok od používateľa jankasl »

Nevedel by mi niekto poradiť s vytvorením programu k následujúcemu zadaniu?Už teraz krásne ďakujem za akékoľvek tipy :)
Zadanie: V ľubovoľnom vývojovom prostriedku realizujte algoritmus cyklického vylepšovania metódou lokálneho vylepšovania a demonštrujte jeho použitie na jednoduchom
príklade.
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: Pomoc pri tvorbe programu

Príspevok od používateľa Fabo »

jankasl
Novice
Novice
Príspevky: 2
Registrovaný: 28 feb 2015, 10:52

Re: Pomoc pri tvorbe programu

Príspevok od používateľa jankasl »

Treba vedieť čítať milý Fabo!!!!!-ja s tým problém nemám a pravidlo 4 mi bolo jasné....Písala som niečo o vytvorení programu?????Chcela som len tipy!!!!Hovorí sa tomu: čítanie s porozumením.....vygoogli si ak tomu nerozumieš.....až potom rozdávaj rady!!!!!
Ďakujem za porozumenie....

//autoeditácia príspevku (01 Mar 2015, 20:02)
A pre všetkých ostatných: myslíte že by tam mohol byť algoritmus na vyhľadávanie najkatšej cesty Dijkstra?
#include <stdio.h>

#define MAX 7
#define INFINITE 998

int allselected(int *selected)
{
int i;
for(i=0;i<MAX;i++)
if(selected==0)
return 0;
return 1;
}

void shortpath(int cost[][MAX],int *preced,int *distance)
{
int selected[MAX]={0};
int current=0,i,k,dc,smalldist,newdist;
for(i=0;i<MAX;i++)
distance=INFINITE;
selected[current]=1;
distance[0]=0;
current=0;
while(!allselected(selected))
{
smalldist=INFINITE;
dc=distance[current];
for(i=0;i<MAX;i++)
{
if(selected==0)
{
newdist=dc+cost[current];
if(newdist<distance)
{
distance=newdist;
preced=current;
}
if(distance<smalldist)
{
smalldist=distance;
k=i;
}
}
}
current=k;
selected[current]=1;
}
}

int main()
{
int cost[MAX][MAX]=
{{INFINITE,2,4,7,INFINITE,5,INFINITE},
{2,INFINITE,INFINITE,6,3,INFINITE,8},
{4,INFINITE,INFINITE,INFINITE,INFINITE,6,INFINITE},
{7,6,INFINITE,INFINITE,INFINITE,1,6},
{INFINITE,3,INFINITE,INFINITE,INFINITE,INFINITE,7},
{5,INFINITE,6,1,INFINITE,INFINITE,6},
{INFINITE,8,INFINITE,6,7,6,INFINITE}};

int i,preced[MAX]={0},distance[MAX];
shortpath(cost,preced,distance);
for(i=0;i<MAX;i++)
printf("%d\n",distance);
return 0;
}
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: Pomoc pri tvorbe programu

Príspevok od používateľa Fabo »

Lepsie.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Pomoc pri tvorbe programu

Príspevok od používateľa harrison314 »

jankasl: skus aj pravidlo c. 2

No je to zadanie tak divne, ale DIjikstra to moze byt, no mne tam uplne sedi aj obycajny horolezecky algoritmus.
Napísať odpoveď