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

Найти наиболее длинную цепочку в двумерном массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите как делать хоть что-нибудь http://www.cyberforum.ru/cpp-beginners/thread616516.html
1. Вычислить значение первой производной функции xN в заданной точке A при заданном значении N. 2. Определить число, полученное выписыванием в обратном порядке цифр заданного целого трехзначного числа Х. 3. Определить корень X уравнения arcsin(1+ln X)=a, если такой существует. 4. Даны три положительных числа. Определить, можно ли построить треугольник с такими длинами сторон.
C++ Использование выражений типа a == b == c; Скажите, можно ли использовать такие выражения и как они работают? Почему такая конструкция дает истину только когда все переменные равны 1 ? if(a==b==c) cout << "Hello, World !" http://www.cyberforum.ru/cpp-beginners/thread616509.html
C++ Написать программу, которая считывает текст из файла и выводит на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные
Всем привет)))Помогите пожалуйста написать программу))) Написать программу,которая считывает текст из файла и выводит на экран сначала предложения,начинающиеся с однобуквенных слов,а затем все остальные. Искала на форуме нашла много тем с такой прогой,но ни в одной теме нет написанной программы((( Помогите пожалуйста)))
C++ Исправьте ошибки
Помогите пожалуйста исправить ошибки. Сейчас на жкзамене сижу. Вроде правильно все. Но ошибок откуда-то повылазило. #include<windowsx.h> #include<stdio.h> #include<iostream> #define MAX_LOADSTRING 100 // Глобальные переменные: int num,sum=0,num_len,one_num; float fres;
C++ Инсталяция библиотеки fltk Visual C++ 2010 Express http://www.cyberforum.ru/cpp-beginners/thread616415.html
Скачал вот отсюда http://fltk.org/software.php архив fltk-1.1.10-source.zip, извлёк содержимое, затем открыл fltk.dsw в Visual C++ 2010 Express и дальне начинаются проблемы... На скрине показано что пишет
C++ InitCommonControls выдаёт ошибку Здраствуйте! Помогите пожалуста учу Win32 прохожу функцию InitCommonControls (загружающею библиотеку comctl32.dll ) выдает ошибку: undefined reference to `InitCommonControls@0' ld returned 1 exit status G:\Win32\Makefile.win Error 1 кто знает в чем проблема помогите пожалуста! Компилятор Dev-cpp подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
29.06.2012, 20:53     Найти наиболее длинную цепочку в двумерном массиве
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#include <stdio.h>
#include <conio.h>
#include <memory.h>
 
#define N 10
 
int main()
{
    int X[N][N] = { { 2, 5, 1, 5, 8, 1, 6, 2, 2, 3 },
                    { 9, 4, 7, 6, 5, 8, 5, 3, 8, 9 },
                    { 8, 3, 4, 5, 5, 5, 5, 8, 7, 7 },
                    { 1, 2, 4, 4, 5, 6, 2, 7, 4, 6 },
                    { 7, 1, 5, 5, 4, 4, 1, 6, 6, 2 },
                    { 6, 6, 6, 4, 1, 4, 4, 1, 3, 5 },
                    { 3, 7, 9, 7, 6, 5, 9, 4, 2, 4 },
                    { 4, 8, 1, 9, 2, 8, 5, 5, 5, 2 },
                    { 5, 9, 4, 6, 3, 2, 8, 3, 2, 3 },
                    { 7, 1, 3, 3, 5, 7, 3, 3, 1, 1 } };
 
    int max_i = 0;
    int max = 0, r = 0;
    int **Y = new int*[2 * N];
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            int k = j;
            while (X[i][j] == X[i][j+1]) j++;
            if (j-k+1 > 1)
            {
                Y[r] = new int[2 * N];
                memset((void*)Y[r], 0x00, sizeof(int) * 2 * N);
                for (int d = k, x = 0; d <= j; d++)
                    Y[r][x++] = X[i][d];
 
                if (j-k+1 > max) { max = j-k+1; max_i = r; }
 
                r++;
            }
        }
    }
 
    printf("HORIZONTAL:\n");
 
    for (int z = 0; z < r; z++)
    {
        printf("%d - ",z);
        for (int t = 0; Y[z][t] != 0; t++)
            printf("%d ",Y[z][t]);
        printf("\n");
    }
 
    printf("---------------------------------\n");
    for (int z1 = 0; Y[max_i][z1] != 0; z1++)
        printf("%d ",Y[max_i][z1]);
 
    int max_j = 0;
    max = 0; r = 0; Y = new int*[2 * N];
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < N; j++)
        {
            int k = j;
            while (X[j][i] == X[j+1][i]) j++;
            if (j-k+1 > 1)
            {
                Y[r] = new int[2 * N];
                memset((void*)Y[r], 0x00, sizeof(int) * 2 * N);
                for (int d = k, x = 0; d <= j; d++)
                    Y[r][x++] = X[d][i];
 
                if (j-k+1 > max) { max = j-k+1; max_j = r; }
 
                r++;
            }
        }
    }   
 
    printf("\n\nVERTICAL:\n");
 
    for (int z2 = 0; z2 < r; z2++)
    {
        printf("%d - ",z2);
        for (int t = 0; Y[z2][t] != 0; t++)
            printf("%d ",Y[z2][t]);
        printf("\n");
    }
 
    printf("---------------------------------\n");
    for (int z3 = 0; Y[max_j][z3] != 0; z3++)
        printf("%d ",Y[max_j][z3]);
 
    int* A = new int[N]; int x = 0;
    for (int j1 = 0; j1 < N; j1++)
        A[x++] = X[j1][j1];
 
    int* B = new int[N]; int y = 0;
    for (int j2 = 0; j2 < N; j2++)
        B[y++] = X[j2][N-j2-1];
 
    Y = new int*[2 * N];
    max_j = 0; max = 0; r = 0; 
    for (int w = 0; w < N; w++)
    {
        int m = w;
        while (A[w] == A[w+1]) w++;
        if (w-m+1 > 1)
        {
            Y[r] = new int[2 * N];
            memset((void*)Y[r], 0x00, sizeof(int) * 2 * N);
            for (int d = m, x = 0; d <= w; d++)
                Y[r][x++] = A[d];
 
            if (w-m+1 > max) { max = w-m+1; max_j = r; }
 
            r++;
        }
    }
 
    printf("\n\nDIAGONAL:\n");
 
    for (int z4 = 0; z4 < r; z4++)
    {
        printf("%d - ",z4);
        for (int t = 0; Y[z4][t] != 0; t++)
            printf("%d ",Y[z4][t]);
        printf("\n");
    }
 
    printf("---------------------------------\n");
    for (int z5 = 0; Y[max_j][z5] != 0; z5++)
        printf("%d ",Y[max_j][z5]);
 
    Y = new int*[2 * N];
    max_j = 0; max = 0; r = 0; 
    for (int v = 0; v < N; v++)
    {
        int m = v;
        while (B[v] == B[v+1]) v++;
        if (v-m+1 > 1)
        {
            Y[r] = new int[2 * N];
            memset((void*)Y[r], 0x00, sizeof(int) * 2 * N);
            for (int d = m, x = 0; d <= v; d++)
                Y[r][x++] = B[d];
 
            if (v-m+1 > max) { max = v-m+1; max_j = r; }
 
            r++;
        }
    }
 
    printf("\n\nREVERSE DIAGONAL:\n");
 
    for (int z6 = 0; z6 < r; z6++)
    {
        printf("%d - ",z6);
        for (int t = 0; Y[z6][t] != 0; t++)
            printf("%d ",Y[z6][t]);
        printf("\n");
    }
 
    printf("---------------------------------\n");
    for (int z7 = 0; Y[max_j][z7] != 0; z7++)
        printf("%d ",Y[max_j][z7]);
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/5648e9...75806e098bd5c8
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru