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

Маршрут в таблице - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ с++ и что дальше http://www.cyberforum.ru/cpp-beginners/thread328004.html
Люди добрые не подскажите я вот изучаю с++ какое направление в этой сфере наиболее перспективное(ну к примеру создание софта или или игр или же сетевые технологии, а то я так понимаю все в данной сфере не удастся охватить.)Заранее прошу прощения за твозможнуюю тупость вопроса но эта тема для меня актуальна всем спасибо.
C++ Заполнение матрицы случайными не повторяющимися числами Требуется заполнить матрицу случайными не повторяющимися числами. Помогите найти ошибку в коде const n=5; int A,i,j,ii,ij,x=0; int main() { for(i=0;i<n;i++) for(j=0;j<n;j++) http://www.cyberforum.ru/cpp-beginners/thread327979.html
C++ Даны целые числа a, n
Даны целые числа a, n, x1,...,xn(n > 0). Определить, каким по счету идёт в последовательности x1,...,xn член, равный a. Если такого члена нет, то ответом должно быть число 0. Прошу, помогите пожалуййста
Дано натуральное число n. C++
Дано натуральное число n. Найти первую цифру числа n. Аk, Аk-1. . . Ао; найти: Аk - Аk-1+ ...+(-1)^(k)Ао). Помогите пожалуйста
C++ Дано натуральное число n (n ≤ 100). http://www.cyberforum.ru/cpp-beginners/thread327976.html
Дано натуральное число n (n ≤ 100). В предположении, что n ≥ 10, найти предпоследнюю цифру числа n.
C++ Даны действительные числа x, y Даны действительные числа x, y. Определить, принадлежит ли точка с координатами x, y заштрихованной части плоскости: Помогите пожалуйста подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
26.04.2012, 19:53     Маршрут в таблице
Цитата Сообщение от CJIABYH9 Посмотреть сообщение
valeriikozlov, я не против, но где ваши примери?
Без них ни как?
Когда-то давно решал вот эту задачу:
http://********/index.asp?main=task&id_task=368
Вот код решения:
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
78
79
80
81
82
83
84
85
86
87
#include <stdio.h>
 
int main(){
 freopen("input.txt","r",stdin);
 freopen("output.txt","w",stdout);
 int N, **mas, **mas1, **mas23, i, j;// 1-вниз, 2-вправо
 char **mas_ch, ch;
 scanf("%d\n",&N);
 mas=new int*[N];
 mas1=new int*[N];
 mas23=new int*[N];
 mas_ch=new char*[N];
 for(i=0; i<N; i++)
 {
     mas[i]=new int[N];
     mas1[i]=new int[N];
     mas23[i]=new int[N];
     mas_ch[i]=new char[N];
 }
 for(i=0; i<N; i++)
 {
     for(j=0; j<N; j++)
     {
         scanf("%c", &ch);
         mas[i][j]=(int)(ch-'0');
         mas_ch[i][j]='.';
     }
     scanf("\n");
 }
 mas1[0][0]=mas[0][0];
 for(i=1; i<N; i++)
 {
     mas1[0][i]=mas1[0][i-1]+mas[0][i];
     mas1[i][0]=mas1[i-1][0]+mas[i][0];
     mas23[0][i]=2;
     mas23[i][0]=1;
 }
 for(i=1; i<N; i++)
 {
     for(j=i; j<N; j++)
         if(mas1[i-1][j]<mas1[i][j-1])
         {
             mas1[i][j]=mas[i][j]+mas1[i-1][j];
             mas23[i][j]=1;
         }
         else
         {
             mas1[i][j]=mas[i][j]+mas1[i][j-1];
             mas23[i][j]=2;
         }
    for(j=i+1; j<N; j++)
        if(mas1[j-1][i]<mas1[j][i-1])
        {
            mas1[j][i]=mas1[j-1][i]+mas[j][i];
            mas23[j][i]=1;
        }
        else
        {
            mas1[j][i]=mas1[j][i-1]+mas[j][i];
            mas23[j][i]=2;
        }
 }
 int temp_i=N-1, temp_j=N-1, fl=1;
 while(fl)
 {
     if(mas23[temp_i][temp_j]==1)
     {
         temp_i--;
         mas_ch[temp_i][temp_j]='#';
     }
     else
     {
         temp_j--;
         mas_ch[temp_i][temp_j]='#';
     }    
     if(temp_i==0 && temp_j==0)
         fl=0;
 }
 mas_ch[0][0]=mas_ch[N-1][N-1]='#';
 for(i=0; i<N; i++)
 {
     for(j=0; j<N; j++)
         printf("%c", mas_ch[i][j]);
     printf("\n");
 }
  return 0;
}
Сейчас бы написал более компактный код, с использованием всего двух двумерных массивов, но не буду. Разбирайтесь, пробуйте написать короче, если есть желание.
 
Текущее время: 00:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru