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

Исследование состояний стека и очереди при выполнении над ними различных операций доступа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Одномерные массивы (генерация чисел первыми 15 числами Фибоначчи, функции) http://www.cyberforum.ru/cpp-beginners/thread721311.html
Объявите одномерный целочисленный массив, в котором 15 элементов. Выполните генерацию массива первыми 15 числами Фибоначчи. Выведите Массив на экран в строку .оформите генерацию и ввод массива с помощью функции.
C++ функция rand() У меня такой вопрос, как можно сделать искать рандомные числа за исключением определенных! Допустим нахожу рандомное число от 0 до 10, потом его записываю куда-нибудь, а при вызове этой же функции,чтобы это число больше не попадалось http://www.cyberforum.ru/cpp-beginners/thread721310.html
C++ Переставить строку с максимальным элементом
Задана квадратная матрица. Переставить строку с максимальным элементом на главной диагонали со строкой с заданным номером m
Квадратная матрица (задана в виде одномерного массива. Восстановить исходную матрицу и на-печатать по строкам.) C++
Квадратная матрица, симметричная относительно главной диагонали, задана верх-ним треугольником в виде одномерного массива. Восстановить исходную матрицу и на-печатать по строкам.
C++ Матрица n x m (перестановка строк и столбцов) http://www.cyberforum.ru/cpp-beginners/thread721289.html
Дана вещественная матрица размером n x m. Переставляя ее строки и столбцы, до-биться того, чтобы наибольший элемент (или один из них) оказался в верхнем левом углу.
C++ Для заданной целочисленной матрицы напечатать индексы всех ее седловых точек. Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце. Для заданной целой матрицы размером n x т напечатать индексы всех ее седловых точек. подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,910
Записей в блоге: 1
06.12.2012, 13:07     Исследование состояний стека и очереди при выполнении над ними различных операций доступа
Действительно
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
#include <iostream>
const int max_size=20;
int size;
using namespace std;
struct item{
       bool begin;
       int line;
       int id;
}buffer[max_size];
int stack[max_size];
int stack_head;
void sort(){
     struct item temp;
     bool sorted=false;
     int tail=size-1;
     while(!sorted){
                    sorted=true;
                    for(int i=0; i<tail; i++)
                         if(buffer[i].line>buffer[i+1].line){
                                   temp=buffer[i];
                                   buffer[i]=buffer[i+1];
                                   buffer[i+1]=temp;
                                   sorted=false;   
                                  }
                    tail--;
                    }
}
void input(){
     int i=0, m, n;
     int cur_id=0;
     cout<<"Input number of pairs:";
     cin>>size;
     cout<<endl<<"Input "<<size<<" pairs:"<<endl;
     while(cur_id<size){
         cout<<endl<<"pair "<<cur_id<<": ";
         cin>>m>>n;
         buffer[i].begin=true;
         buffer[i].line=m;
         buffer[i].id=cur_id;
         i++;
         buffer[i].begin=false;
         buffer[i].line=n;
         buffer[i].id=cur_id;
         i++;
         cur_id++;         
         }
     } 
int main()
{
    int i;
    bool error_found=false;
    stack_head=0;
    size=0;
   input();
   sort();
    for (i=0; (i<size)&&(!error_found); i++){
        if (buffer[i].begin){
                  stack[stack_head]=buffer[i].id;
                  stack_head++;
                  }
        else{
                  if (stack_head==0) error_found=true;
                  else{
                       if (buffer[i].id!=stack[stack_head-1]) error_found=true;
                      else stack_head--;
                      }
                                  
                  }
        
        }
        if (error_found)
        cout<<"Error found"<<endl;
        else
        cout<<"Error not found"<<endl;
   system("pause");
   return 0;
}
 
Текущее время: 10:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru