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

Вывод массива по спирали. Ошибка исполнения. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Внести единую упорядоченность в последовательность http://www.cyberforum.ru/cpp-beginners/thread395761.html
Дано действительные числа c1, . . . cp, d1 . . .dq(c1≤ c2. . . ≤cp , d1≤ d2. . . ≤dq), внести единую упорядоченность в c1, . . . cp, d1 . . .dq, получив f1,f2, . . . fp+q , такие что f1 ≤f2≤ . . . ≤fp+q. Число сравнений не должно превышать p + q.
C++ Блок схема к коду Подскажите пожалуйста как будет выглядеть блок схема к имеющемуся коду: #include <fstream> #include <string> using namespace std; int main(void) { fstream fin("in.txt", fstream::in); if(! fin.is_open()) return 1; http://www.cyberforum.ru/cpp-beginners/thread395755.html
Дан одномерный массив, состоящий из N целочисленных элементов C++
Помогите пожалуйста решить задачку Дан одномерный массив, состоящий из N целочисленных элементов: 1. Найти максимальный отрицательный элемент 2. Вычислить среднеарифметическое нечетных элементов массива Заранее спасибо Добавлено через 1 час 48 минут ап ап ап
C++ Помогите с удалением
Такая проблема не могу понять как сделать: пользователь вводит текст длиной не больше 250 символом, конец ввода символ /. Потом пользователь вводит слово которое надо удалить в тексте
C++ консольний калькулятор выражений на С или С++ без ООП http://www.cyberforum.ru/cpp-beginners/thread395744.html
Помогите, пожалуйста! Учусь писать в VC++. задали к єкзамену: консольный (строковый) калькулятор выражений (типа, (3-(12.3*4)/3)+1 и т.д.) на С или С++ без ООП с использованием польськой записи (нотации) или, если нету, без нее. Есть код, но он очень сложный. Мне б "попроще" (только '+', '-', '/', '*' и '(', ')' ). // Calc.cpp : Defines the entry point for the console application. //
C++ почему не запускается по логике должно все правильно работать, но даже не запускается. #include<stdlib.h> #include<limits.h> #include<conio.h> #include<iostream.h> int main() { unsigned short max, i, k, x; int sum = 0; подробнее

Показать сообщение отдельно
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
30.11.2011, 20:43     Вывод массива по спирали. Ошибка исполнения.
Попробуйте вот так.
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
#include <iostream>
 
template <class T> void snakePrint(const T &arr, const int ROWS, const int COLS)
{
    int s = ROWS * COLS;                
    for(int sh = 0, count = 0; count < s; ++sh)
    {
        for(int i = ROWS - 1 - sh, j = COLS - 1 - sh; (i >= 0) && (j >= sh) && (count < s); --j)
        {
            std::cout << arr[i][j] << ' ';
            ++count;
        }
        
        for(int i = ROWS - 2 - sh, j = sh; (i >= sh) && (count < s); --i)
        {
            std::cout << arr[i][j] << ' ';
            ++count;
        }
 
        for(int i = sh, j = sh + 1; (sh != ROWS - 1) && (j < COLS - sh) && (count < s); ++j)
        {
            std::cout << arr[i][j] << ' ';
            ++count;
        }
               
        for(int i = sh + 1, j = COLS - 1 - sh; (i < ROWS - sh - 1) && (j > 0) && (count < s); ++i)
        {
            std::cout << arr[i][j] << ' ';
            ++count;
        }
    } 
}
 
int main()
{
    const int ROWS = 4;
    const int COLS = 4;
    int arr[ROWS][COLS] = { { 4, 5,  6,  100 },
                            { 3, 7,  8,  200 },
                            { 2, 9,  10, 300 },
                            { 1, 11, 12, 400 } };
                            
    int arr1[4][1] = { { 4 },
                       { 3 },
                       { 2 },
                       { 1 } };
                       
    int arr2[4][2] = { { 4, 5  },
                       { 3, 7  },
                       { 2, 9  },
                       { 1, 11 } };
                            
    int arr3[1][4] = { { 1, 2, 3, 4 } };
    
    int arr4[2][4] = { { 1, 2, 3, 4 },
                       { 5, 6, 7, 8 } };
    
    int arr5[3][4] = { { 1, 2,  3,  4 },
                       { 5, 6,  7,  8 },
                       { 9, 10, 11, 12 } };
                       
    snakePrint(arr, ROWS, COLS);
    std::cout << std::endl;
    snakePrint(arr1, 4, 1);
    std::cout << std::endl;
    snakePrint(arr2, 4, 2);
    std::cout << std::endl;
    snakePrint(arr3, 1, 4);
    std::cout << std::endl;
    snakePrint(arr4, 2, 4);
    std::cout << std::endl;
    snakePrint(arr5, 3, 4);
    return 0;
}
Поправил.
 
Текущее время: 01:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru