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

Заполнение матрицы по спирали с использованием case - break - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ c++ среднее значение с запятой http://www.cyberforum.ru/cpp-beginners/thread772744.html
Здравствуйте. Кто нить подскажите, как в txt файле сохранить среднее значение с запятой. А то сохраняет только до запятой получается.fprintf(frz,"srednee:%d\n",W);
C++ Кросплатформенные сокеты из коробки Наскольо я понял, в стандартной библиотеке си под линукс есть сокеты(сокеты беркли), но есть ли они под виндой(все время вижу работу через winapi)? Заранее благодарен. http://www.cyberforum.ru/cpp-beginners/thread772741.html
C++ Задача по ООП (создать класс Alfa)
Ребята, помогите, пожалуйста, с задачей. Второй день долблюсь и не понимаю, что не так. Условие: создать класс Alfa таким образом, чтобы при создании первого и уничтожении последнего объекта этого типа на экран выводились соответствующие сообщения. Указание: использовать статические компоненты класса. Вот мой код, объясните, как исправить.#include "stdafx.h" #include <iostream> #include...
Операции над указателями C++
int var = 123; int *p = &var; (*p)++ и ++*p это одно и тоже. В первом случае приоритет задал скобками. 1)Тогда почему *p++ и *p=*p+1 это не одно и тоже? Почему в первом случае мы сдвигаем адрес памяти, а во втором значение переменной? 2). Почему когда я пишу *p++ у меня выводится именно адрес памяти? По сути же ведь сначала тут идёт разыменование, т.е. получаем число 123 и увеличиваем его...
C++ Возвращаемое значение функции http://www.cyberforum.ru/cpp-beginners/thread772702.html
Добрый день. Есть функция: TextString InfoBox::name(unsigned int i) const { if(i<this->count()) { TextLabel *label = dynamic_cast<TextLabel*>(this->itemAt(i)); return label->text(); } else return ;//? } Не могу сообразить, что вернуть, если индекс i вне диапазона? Пустоту нельзя - не скомпилируется. Как, например, можно вернуть строку: "index out of range"...
C++ есть ли в с++ что - нибудь подобное, и покажите как ... В c# есть команда Ref. Например когда мы хотим передать в качестве параметоров не знач. переменной, а адрес то используем Ref public void somemethod(Ref int b) { b++; // простой пример } подробнее

Показать сообщение отдельно
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
27.01.2013, 14:42     Заполнение матрицы по спирали с использованием case - break
да я уже разобрался, у вас логика нарушена, я почти закончил исправление, мне осталось только понять как последний элемент сделать

Добавлено через 5 минут
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
#include<iostream>
#include<Windows.h>
#include "stdlib.h"
using namespace std;
 
int main()//вы програмируте на С++ а значит по стандарту возврашать обязаны int
{
    SetConsoleOutputCP(1251);
    const int N=6, M=6;
    int A[N][M];
    int i, j, k, l, r, t, b, dir=0;
    //заполние матрицы
    k=1;
    t=0;    l=0;    r=N-1;  b=M-1;
    while(l < r | t < b | k < N*M+1) // меняем на логическое ИЛИ  и добовляем проверку счетчика для последнего элемента
        {
         switch(dir)
                {                         //во первых тут слева направо
                    case 0://l..r заполнение cлева направо
                            for (i=l; i<=r; i++, k++)
                                    A[t][i] = k;
                                    t++;
 
                        break;          // если движемся по строке то и индекс в строке
                    case 1://t..b заполнение сверху вниз
                            for (i=t; i<=b; i++, k++)
                                A[i][r] = k;
                                r--;
 
                        break;
                    case 2://r..l заполнение справо на лево
                            for (i=r; i >= l; i--, k++)
                                A[b][i] = k;
                                b--;
                        break;                 // тут тоже индекс в строке должен быть
                    case 3://b..t заполнение снизу вверх
                            for (i=b; i >= t; i--, k++)
                                A[i][l] = k;
                                l++;
                        break;
                }
            dir=(dir+1)%4; //счетчик направления
        }
        //вывод полученной матрицы
    system("cls");
        for (i=0; i < N; i++)
            {
                for (j=0; j < M; j++)
                    {
                        cout<<A[i][j]<<" ";
                        Sleep(500);
                    }
            cout<<"\n";
        }
        system ("pause");
      //причем явно возврашать 0 необязательно  return 0;
}
 
Текущее время: 11:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru