1 / 1 / 0
Регистрация: 16.09.2011
Сообщений: 29

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

06.12.2012, 11:46. Показов 1134. Ответов 4

Author24 — интернет-сервис помощи студентам
В некотором языке программирования операторы располагаются в разных строках. Строки программы нумеруются. Программист указал множество пар (m, n) , где m - номер начальной строки цикла, а n - номер конечной строки. Выяснить:
1) пропустит ли такой вариант транслятор?
2) правильно ли организовано вложение циклов?

Не понятно что вообще необходимо от меня. Поясните пожалуйста задание, что именно от меня требуется запрограммировать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.12.2012, 11:46
Ответы с готовыми решениями:

Одна и та же ошибка при выполнении различных операций с системой
"Сломалась" ОС. :( Началось с того, что при попытке установить очередной кумулятивный патч обновлений происходит следующее: Ошибка...

Раскрытие скобок при выполнении операций над множестами
Объясните, почему A\oplus(AB)=A\bar B. Я так понимаю мы должны раскрыть скобки в следующем выражении: A\oplus((A-B)+(B-A)). Как это...

Устранить округление при выполнении арифметических операций над числами
Если написать так pk равен 833 long long S=Edit1->Text.ToInt(); long long n=Edit2->Text.ToInt(); long double pk=S/n; если...

4
 Аватар для Kuzia domovenok
4265 / 3323 / 925
Регистрация: 25.03.2012
Сообщений: 12,526
Записей в блоге: 1
06.12.2012, 12:18
просто проверить проверку вложенности, чтобы если между одной парой чисел m1 n1 существует число m2, то соответствующее ему число n2 стояло между m2 и n1,
т.е. не нарушало вложенность
т.е. не было б такого
( { ) [ ] }
а было б такое
( { [ ] } )

Не по теме:

Всем и правда, не стоит придумывать заумные имена для домашних заданий школьного уровня. Сами же и не понимаете, что требуется

0
1 / 1 / 0
Регистрация: 16.09.2011
Сообщений: 29
06.12.2012, 12:39  [ТС]
Это понятно, но как это оформить на C++ не могу понять
0
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
06.12.2012, 12:46
А тут точно код надо писать?
Мне кажется, что того, что написал Kuzia domovenok вполне достаточно
0
 Аватар для Kuzia domovenok
4265 / 3323 / 925
Регистрация: 25.03.2012
Сообщений: 12,526
Записей в блоге: 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.12.2012, 13:07
Помогаю со студенческими работами здесь

Создается ли новый делегат при выполнении над ним операций += или -+
A) Да, только для операции -= B) Да, только для операции += C) Нет D) Да

Представление бинарных отношений и операций над ними
Добрый день. Необходимо выполнить такую вот задачу.Можно писать на С++, С#, Python. Только помогите. Плиз, HELP Реализовать методами...

Представление бинарных отношений и операций над ними
Добрый день. Необходимо выполнить такую вот задачу. Можно писать на С++, Java, С#. Только помогите. Плиз, HELP Реализовать методами...

Создание базы данных и выполнения различных операций с ними
Суть программки, создание базы данных и выполнения различных операций с ними (Ввод, редактирование, удаление и т.д.) Не работает в...

Чтение чисел из фаила и выполнение операций над ними
Товарищи выручайте пожалуйста! Необходимо на Си, написать программу для считывания из файла 3 чисел, затем чтобы выполняла арифметические...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Динамические массивы в C++ - создание и использование
NullReferenced 27.04.2025
Динамические массивы представляют собой один из фундаментальных инструментов программирования на C++, позволяющий создавать структуры данных, размер которых определяется во время выполнения. . .
Асинхронный JavaScript: Промисы, Async/Await и Fetch API
Reangularity 27.04.2025
Пользователь заходит на веб-страницу, нажимает кнопку и. . . ничего не происходит. Сайт словно замер. Через несколько секунд всё внезапно оживает, но пользователь уже успел закрыть вкладку. Знакомая. . .
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru