Домашнее Задание))

Тема в разделе "MS Visual C++", создана пользователем Pasha0, 13 дек 2012.

Статус темы:
Закрыта.
  1. Pasha0

    Pasha0 Гость

    Здравствуйте, прошу помогите сделать Домашнее задание.

    Задача очень проста)): робот должен добраться от А в пункт Б самым коротким путём. Дается массив 4 на 3 и каждый ход различная длина. Робот может ходить тока в низ.Пример.
    Ну собственно эталон программы
    Код (C++):
    #include "stdafx.h"
    class Graph
    {int a[5][5];
    int c[5][5];
    int p[5][5];

    public:
    Graph()
    {
    int i,j,k;
    for(i=0;i<=4;i++)
    for(j=0;j<=4;j++) c[i][j]=999;

    for(k=0;k<=6;k++)
    {
    scanf("%i%i",&i,&j);
    scanf("%i",&c[i][j]);
    }
    }
    void Floyd()
    {
    int i,j,k;
    for(i=0;i<=4;i++)
    for(j=0;j<=4;j++) {a[i][j]=c[i][j];p[i][j]=-1;}

    for(i=0;i<=4;i++) a[i][i]=0;

    for(k=0;k<=4;k++)
    for(i=0;i<=4;i++)
    for(j=0;j<=4;j++)
    if (a[i][k]+a[k][j]<a[i][j])
    {
    a[i][j]=a[i][k]+a[k][j];p[i][j]=k;
    }
    }

    void print_a()
    {
    int i,j;
    for(i=0;i<=4;i++)
    {
    for(j=0;j<=4;j++)    printf("%8i",a[i][j]);
    printf("\n");
    }
    printf("\n");
    }
    void print_c()
    {
    int i,j;
    for(i=0;i<=4;i++)
    {
    for(j=0;j<=4;j++)    printf("%8i",c[i][j]);
    printf("\n");
    }
    printf("\n");
    }
    void print_p()
    {
    int i,j;
    for(i=0;i<=4;i++)
    {
    for(j=0;j<=4;j++)    printf("%8i",p[i][j]);
    printf("\n");
    }
    }

    void path(int i,int j)
    {
    int k;
    k=p[i][j];
    if(k==-1) return;
    path(i,k);
    printf("%3i\n",k);
    path(k,j);
    }
    };

    int _tmain(int argc, _TCHAR* argv[])
    {
    Graph g;
    g.Floyd();
    g.print_c();
    g.print_a();
    g.print_p();
    g.path(0,4);
    return 0;
    }
    Откровенно говоря в программировании я полный профан и даже просто не понимаю что от меня требуется изменить в эталоне.
    Прошу помогите сделать эталон рабочим.

    Заранее благодарю.
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    если это уже эталон - то "делать его эталоном" не требуется.

    дак спроси у преподавателя, мы конечно можем спросить за тебя, но мотивируй нас чем-нибудь...
     
Статус темы:
Закрыта.

Поделиться этой страницей