Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1lab #870

Closed
wants to merge 6 commits into from
Closed

1lab #870

wants to merge 6 commits into from

Conversation

Dethord-hub
Copy link

Сделал основное задание и первое задание из двух

@Dovgalyuk
Copy link
Owner

  1. Надо доделать всё.
  2. Проект должен собираться и тестироваться (см. вкладку checks).

@Dovgalyuk
Copy link
Owner

Снова ошибки.

@Dethord-hub
Copy link
Author

Странно, запуская тесты на компьютере все проходит...
Ну ладно, попробую еще раз! :з

@Dethord-hub
Copy link
Author

Павел Михайлович, здравствуйте, извините, что беспокою по глупой теме, но может я что-то не понимаю...
Как правильно запустить тесты для проверки работоспособности своего кода?
Спрашиваю, т.к. в прошлый раз залив код получил две ошибки в тестах, хотя тот тест, который я запускал с папки build показывал, что все верно(
Если вам будет несложно, можете ответить на этот вопрос? Заранее большое спасибо!

@Dovgalyuk
Copy link
Owner

Выполнить ctest или make test.

@Dovgalyuk
Copy link
Owner

Сборка не проходит.

Lab1C/lab1.c Outdated
@@ -1,40 +1,146 @@
#include "../LibraryC/array.h"
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Путь надо прописать в CMakeLists.txt, а здесь писать include без пути.

LibraryC/array.h Outdated
#include <stdint.h>

// Non-resizeable array
// Stores pointer to custom user data
typedef uintptr_t Data;
typedef void* Data;
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше оставить uintptr_t. При использовании такого массива с числами, будет проще с ним работать. Добавятся только приведения типов в самой библиотеке.

@Dovgalyuk
Copy link
Owner

Принято.

  • Реализовать в проекте Library двусвязный список (модуль list) и стек на основе этого списка (модуль stack).
  • Решить задачу, используя реализованный стек.
  • Добавить пример входных данных и описать тест в CMakeLists.txt, который запускает разработанную программу и использует входные данные.

Реализовать интерпретатор подмножества языка Befunge: https://en.wikipedia.org/wiki/Befunge
Программа читает входную строку из следующих команд:

  • 0-9 - заносит число в стек
  • +-*/% - арифметические операции. Извлекают два числа из стека, а потом заносят туда результат
  • ! - логическое "не". Извлекает значение с вершины стека и заносит туда 1, если это был 0. Иначе заносит в стек 0.
  • ` - логическое "больше". Извлекает два значения из стека и заносит обратно 1, если первое больше второго и 0 в противном случае.
  • : - дублирует значение на вершине стека.
  • . - извлекает значение из стека и выводит его.
  • & - запрашивает число с клавиатуры и заносит его в стек.

Входные данные

123...

Выходные данные

3
2
1

Входные данные

1:.2:.3:.++.

Выходные данные

1
2
3
6

@Dovgalyuk Dovgalyuk closed this Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants