Compare commits

...

3 commits

Author SHA1 Message Date
Imbus
bdc3832fd1 Justfile for convenience 2024-11-11 18:06:14 +01:00
Imbus
b72f78839c Hello and editor 2024-11-11 18:06:07 +01:00
Imbus
43568e947f Ignore 2024-11-11 18:05:46 +01:00
4 changed files with 49 additions and 6 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*.o
*.d

18
lab1/Justfile Normal file
View file

@ -0,0 +1,18 @@
all: a1 a2 a3 a4
a1:
g++ -o hello hello.cc
./hello
a2:
g++ -std=c++11 -o separate_main separate_main.cc separate_fn.cc
a3:
g++ -std=c++11 -c separate_main.cc
g++ -std=c++11 -c separate_fn.cc
g++ -std=c++11 -o separate_main separate_main.o separate_fn.o
a4:
g++ -std=c++11 -o separate_main separate_main.cc
a5:
g++ -c -O2 -Wall -Wextra -pedantic-errors -Wold-style-cast -std=c++11 hello.cc

View file

@ -6,11 +6,29 @@ using std::string;
using size_type = Editor::size_type;
size_type Editor::get_size() const
{
return text.size();
}
size_type Editor::get_size() const { return text.size(); }
size_type Editor::find_left_par(size_type pos) const {
return string::npos;
Editor::size_type Editor::find_left_par(size_type pos) const {
char right_par = text[pos];
char left_par;
// Determine the matching left parenthesis for the given right parenthesis
switch (right_par) {
case ')': left_par = '('; break;
case ']': left_par = '['; break;
case '}': left_par = '{'; break;
default: return string::npos; // Not a valid right parenthesis
}
int balance = 1; // Start with the right parenthesis at text[pos]
for (size_type i = pos; i-- > 0;) {
if (text[i] == left_par) {
balance--;
if (balance == 0) return i; // Found the matching left parenthesis
} else if (text[i] == right_par) {
balance++;
}
}
return string::npos; // No matching left parenthesis found
}

5
lab1/hello.cc Normal file
View file

@ -0,0 +1,5 @@
#include <iostream>
int main(int argc, char *argv[]) {
std::cout << "Hello" << std::endl;
}