consolidate all repos to one for archive
This commit is contained in:
70
semester_5/paralelno_racunanje/naloga_1/main.cpp
Normal file
70
semester_5/paralelno_racunanje/naloga_1/main.cpp
Normal file
@@ -0,0 +1,70 @@
|
||||
#include <iostream>
|
||||
#include <omp.h>
|
||||
#include <vector>
|
||||
|
||||
uint64_t sum_rows(int N, std::vector<std::vector<int>> &matrix)
|
||||
{
|
||||
uint64_t result = 1;
|
||||
for (int i = 0; i < N; i++)
|
||||
{
|
||||
int sum = 0;
|
||||
for (int j = 0; j < N; j++)
|
||||
{
|
||||
sum += matrix[i][j];
|
||||
}
|
||||
result *= sum;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
uint64_t sum_columns(int N, std::vector<std::vector<int>> &matrix)
|
||||
{
|
||||
uint64_t result = 1;
|
||||
for (int j = 0; j < N; j++)
|
||||
{
|
||||
int sum = 0;
|
||||
for (int i = 0; i < N; i++)
|
||||
{
|
||||
sum += matrix[i][j];
|
||||
}
|
||||
result *= sum;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int N = 3;
|
||||
|
||||
std::vector<std::vector<int>> matrix(N, std::vector<int>(N));
|
||||
|
||||
int st = 1;
|
||||
for (int i = 0; i < N; i++)
|
||||
{
|
||||
for (int j = 0; j < N; j++)
|
||||
{
|
||||
matrix[i][j] = st++;
|
||||
}
|
||||
}
|
||||
|
||||
uint64_t result1, result2;
|
||||
|
||||
#pragma omp parallel
|
||||
{
|
||||
#pragma omp sections
|
||||
{
|
||||
#pragma omp section
|
||||
{
|
||||
result1 = sum_rows(N, matrix);
|
||||
}
|
||||
#pragma omp section
|
||||
{
|
||||
result2 = sum_columns(N, matrix);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
printf("Rezultat: %ld\n", (result1 + result2));
|
||||
|
||||
return 0;
|
||||
}
|
24
semester_5/paralelno_racunanje/naloga_1/makefile
Normal file
24
semester_5/paralelno_racunanje/naloga_1/makefile
Normal file
@@ -0,0 +1,24 @@
|
||||
CC=g++
|
||||
|
||||
CFLAGS= -std=c++23
|
||||
|
||||
INCLUDE_DIR= include
|
||||
|
||||
SRC_DIR= src
|
||||
|
||||
# Get all cpp files from src directory
|
||||
SRCS := $(wildcard $(SRC_DIR)/*.cpp)
|
||||
|
||||
all: main
|
||||
|
||||
main: main.cpp $(SRCS)
|
||||
$(CC) $(CFLAGS) -o3 -fopenmp -I$(INCLUDE_DIR) $(SRCS) main.cpp -o main
|
||||
|
||||
debug: main.cpp $(SRCS)
|
||||
$(CC) $(CFLAGS) -fopenmp -I$(INCLUDE_DIR) $(SRCS) -g main.cpp -o main
|
||||
|
||||
run: main
|
||||
./main
|
||||
|
||||
clean:
|
||||
rm main
|
Reference in New Issue
Block a user