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

Второй день не могу заменить объявление массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В чем ошибка? http://www.cyberforum.ru/cpp-beginners/thread968274.html
#include <cstdlib> #include <iostream> using namespace std; struct Time { int h; int m; };
C++ Дан текст, содержащий 30 символов. Подсчитать количество вхождений символов А и Б. Ребят , помогите плиз , послезавтра экзамен , вот нашел возможные задание , может кто подсказать , или показать решения ? Язык : С++/ паскаль. Заранее спасибо. №1 Дан текст, содержащий 30 символов. Подсчитать количество вхождений символов А и Б. написать программу. http://www.cyberforum.ru/cpp-beginners/thread968269.html
C++ Нужно оптимизировать код
Вобщем код не принемает сайт, немного нагружает и по времени не проходит задание Август и Беатриса играют в игру. Август загадал натуральное число от 1 до n. Беатриса пытается угадать это число, для этого она называет некоторые множества натуральных чисел. Август отвечает Беатрисе YES, если среди названных ей чисел есть задуманное или NO в противном случае. После нескольких заданныъх вопросов...
C++ Странная ошыбка
Всём привет Есть такая проблема: при использовании qsort(&c, c.size(), sizeof(int), compare) Кидает ексепшен, почёму понять не могу. Вот весь код: #include <iostream> #include <vector> int compare(const void* a, const void* b) { return ( *(int*) a - *(int*)b );
C++ Работа со структурой данных, чтение/сохранение во внешний файл http://www.cyberforum.ru/cpp-beginners/thread968244.html
помогите разобраться с задачкой!! {Написать программу, представляющую собой простейшую систему для управления данными. Исходные данные для программы хранятся в текстовом файле в виде строк. Для создания файла с исходными данными следует использовать простейший текстовый редактор или редактор инструментальной среды разработки. Количество строк, требования к содержимому строки, способ...
C++ В числе зачеркнули первую справа цифру и приписали ее слева - вывести полученное число #include <iostream> #include <stdio.h> #include <math.h> #include <conio.h> int main(int argc, char** argv) { float d,c; int b,a; printf ("vvedite trhznachnoe chislo "); подробнее

Показать сообщение отдельно
met4ka
8 / 8 / 1
Регистрация: 13.07.2012
Сообщений: 102
03.10.2013, 19:23     Второй день не могу заменить объявление массива
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
/*
стр 98 (100) зад 31
 
Определить, образуют ли элементы матрицы упорядоченную последовательность
при обходе матрицы: a) змейкой, b) спиралью
 
*/
 
#include <stdio.h>
#include <iostream>
using namespace std;
 
#define ROWS 6
#define COLUMNS 5
 
int **a;
 
 
static void print_matrix(void)
{
    int i, j;
    
    for(i = 0; i < ROWS; i++) {
        for (j = 0; j < COLUMNS; j++) {
            printf("%2d ", a[i][j]);
        }
        printf("\n");
    }
    printf("\n");
}
 
/*
  Функция проверки условия упорядоченности. Она вызывается
  для каждого элемента при обходе матрицы. Если возвращает 0, то
  упорядоченность не нарушена и можно идти дальше, если 1, то "стоп",
  упорядоченность нарушена
*/
 
static int next(int e)
{
    static int prev, state = 0;
    
    switch (state) {
        case 0: /* No previous elem */
            state = 1;
            break;
        case 1: /* Determine order type: ascending or descending */
            if (e < prev)
                state = 2;
            else if (e > prev)
                state = 3;
            break;
        case 2: /* Descending order */
            if (e > prev)
                return 1; /* Stop */
            break;
        case 3: /* Ascending order */
            if (e < prev)
                return 1; /* Stop */
            break;
        default:
            break;
    }
    prev = e;
    return 0; /* Go ahead */
}
 
 
/* Обходим матрицу спиралью */
 
static int spiral(void)
{
    int i, row1 = 0, row2 = ROWS - 1, col1 = 0, col2 = COLUMNS - 1;
    
    printf("Spiral: ");
    
    while (row1 <= row2) {
        /* Слева направо */
        for (i = col1; i <= col2; i++) {
            if (next(a[row1][i]))
                goto out_of_order;
            printf("%2d, ", a[row1][i]);
        }
    
        /* Сверху вниз */
        for (i = row1 + 1; i < row2; i++) {
            if (next(a[i][col2]))
                goto out_of_order;
            printf("%2d, ", a[i][col2]);
 
        }
    
        /* Справа налево */
        for (i = col2; i >= col1; i--) {
            if (next(a[row2][i]))
                goto out_of_order;
            printf("%2d, ", a[row2][i]);    
        }
        
        /* Снизу вверх */
        for (i = row2 - 1; i > row1; i--) {
            if (next(a[i][col1]))
                goto out_of_order;
            printf("%2d, ", a[i][col1]);
        }
        row1++;
        row2--;
        col1++;
        col2--;
    }
    printf("\n\n");
    return 0;
    
out_of_order:
    printf("Out of order\n");
    return -1;
}
 
/* Обходим матрицу змейкой */
 
static int snake(void)
{
    int i, j;
    
    printf("Snake: ");
    for (j = 0; j < COLUMNS; j++) {
        if (j & 1) {
            for (i = ROWS-1; i >= 0; i--) {
                printf("%2d, ", a[i][j]);
                if (next(a[i][j]))
                    goto out_of_order;
            }
        } else {
            for (i = 0; i < ROWS; i++) {
                printf("%2d, ", a[i][j]);
                if (next(a[i][j]))
                    goto out_of_order;
            }
        }
    }
    printf("\n\n");
    return 0;
    
out_of_order:
    printf("Out of order\n");
    return -1;
}
 
 
int main(void)
{
    a=new int*[ROWS];
    for(int i=0;i<ROWS;i++)
        a[i]=new int[COLUMNS];
    for (int i=0;i<ROWS;i++)
        for (int j=0;j<COLUMNS;j++)
            cin>>a[i][j];
    print_matrix();
    snake();
    spiral();
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru