Форум программистов, компьютерный форум CyberForum.ru

кто может составить алгоритм к программе? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Аннаа
0 / 0 / 0
Регистрация: 14.05.2011
Сообщений: 11
14.05.2011, 18:14     кто может составить алгоритм к программе? #1
кто сможет составить алгоритм к данной программе?
вот задание: В клетки квадрата размером n х n вписаны произвольно n2 первых чисел натурального ряда (n<7). От левой верхней клетки до правой нижней прокладываются маршруты, причем клетка старта и клетка финиша включаются в них, а разрешенными направлениями движения считаются два: на 1 клетку вниз и на 1 клетку вправо. Составить программу поиска:
а) количества таких маршрутов;
б) маршрута, для которого сумма чисел, записанных в принадлежавших ему клетках, максимальна; указать эту сумму.

вот текст программы

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <iostream.h>
#include <fstream.h>
 
const n=6;
int ColPath(int k)
 {
  int m[n][n];
  int i,j;
  m[0][0]=0;
  for (i=1;i<n;i++)
    {m[0][i]=1;
     m[i][0]=1;
    };
  for (i=1;i<n;i++)
   for (j=1;j<n;j++)
     m[i][j]=m[i][j-1]+m[i-1][j];
 
  return m[k-1][k-1];
 }
 
void Path(int m[n][n],int k)
 {
  int m1[n][n];
  int i,j;
  m1[k-1][k-1]=m[k-1][k-1];
  for (i=k-2;i>=0;i--)
    {m1[k-1][i]=m[k-1][i]+m1[k-1][i+1];
     m1[i][k-1]=m[i][k-1]+m1[i+1][k-1];
    };
  for (i=k-2;i>=0;i--)
   for (j=k-2;j>=0;j--)
    if (m1[i+1][j]>m1[i][j+1])
       m1[i][j]=m[i][j]+m1[i+1][j];
    else
       m1[i][j]=m[i][j]+m1[i][j+1];
 
  cout << "Summa: "<< m1[0][0]<<endl;
  cout << "Path: "<<endl;
  i=0;j=0;
  cout <<'('<<i<<','<<j<<')'<<' ';
  while (i!=k-1 || j!=k-1)
   {
    if (i<k-1 && j<k-1)
      {
    if (m1[i][j+1]>m1[i+1][j]) j++;
    else i++;
      }
    else
     if (i=k-1) j++;
    else
     if (j=k-1) i++;
   cout <<'('<<i<<','<<j<<')'<<' ';
   };
  cout << endl;
 }
 
void main()
 {
  ifstream f("input.txt");
  int k,i,j;
  int m[n][n];
  f >> k;
 
  for (i=0;i<k;i++)
   for (j=0;j<k;j++)
    f >> m[i][j];
 
  for (i=0;i<k;i++)
   {
   for (j=0;j<k;j++)
     cout << m[i][j] <<' ';
     cout << endl;
   }
 
  Path(m,k);
  cin.get();
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
14.05.2011, 21:09     кто может составить алгоритм к программе? #21
Цитата Сообщение от Аннаа Посмотреть сообщение
а мне просто кажется что ему в институте ставили тройки по программированию, вот он на нас и отыгрывается)
я уже с самого утра рисую....получается какой-то ужас
Я думаю, когда он учился в институте, программирования еще не было.
Алгоритм довольно громоздкий - для него не получится нарисовать красиво. Рисуйте как художник - душой. Может прокатит.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2011, 21:19     кто может составить алгоритм к программе?
Еще ссылки по теме:

Кто может объяснить алгоритм прораммы.Как она работает? C++
Кто может объяснить алгоритм программы? Как она работает? C++
C++ Может кто словами описать алгоритм многопутевого слияния?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Аннаа
0 / 0 / 0
Регистрация: 14.05.2011
Сообщений: 11
14.05.2011, 21:19  [ТС]     кто может составить алгоритм к программе? #22
ахахаха)художник конечно я хоть куда, но вот к этому даже душа не лежит
ладно приходится и вправду красиво, но не правильно
Yandex
Объявления
14.05.2011, 21:19     кто может составить алгоритм к программе?
Ответ Создать тему
Опции темы

Текущее время: 20:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru