consolidate all repos to one for archive
This commit is contained in:
3
semester_1/programiranje_1/Vaje/Vaja_6/Poli/Sekvence.txt
Normal file
3
semester_1/programiranje_1/Vaje/Vaja_6/Poli/Sekvence.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 1
|
||||
|
||||
0 1 0 1 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0
|
277
semester_1/programiranje_1/Vaje/Vaja_6/Poli/main.cpp
Normal file
277
semester_1/programiranje_1/Vaje/Vaja_6/Poli/main.cpp
Normal file
@@ -0,0 +1,277 @@
|
||||
#include <iostream>
|
||||
#include <cmath>
|
||||
using namespace std;
|
||||
|
||||
// izpis iz polja
|
||||
void izpis(const int polje[], const int x){
|
||||
for(int i = 0; i < x; i++){
|
||||
cout << polje[i] << " ";
|
||||
}
|
||||
cout << endl << endl;
|
||||
}
|
||||
//vpis v polje
|
||||
void vpis(int polje[], const int x){
|
||||
for(int i = 0; i < x; i++){
|
||||
cin >> polje[i];
|
||||
}
|
||||
cout << "Vpisali ste: ";
|
||||
izpis(polje,x);
|
||||
}
|
||||
|
||||
|
||||
//vrne minimalno vrednost in pozicijo stevila v polju (preko reference)
|
||||
void minimalna(int polje[],int &x, int &poz, int &minvred){
|
||||
cout << "Vpisi velikost polja: ";
|
||||
cin >> x;
|
||||
cout << "Vpisi v polje: ";
|
||||
vpis(polje,x);
|
||||
int vred;
|
||||
minvred = polje[0];
|
||||
for(int i = 0; i < x; i++){
|
||||
vred = polje[i];
|
||||
if(vred<minvred){
|
||||
poz = i;
|
||||
minvred = vred;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// vrne pozicijo stevila ki ga iscemo
|
||||
int index(const int polje[], const int x){
|
||||
cout << "Vpisi stevilo ki ga iscete: ";
|
||||
int iskano; //iskano stevilo
|
||||
cin >> iskano;
|
||||
cout << "Iscete: " << iskano << endl;
|
||||
for(int i = 0; i < x; i++){
|
||||
if(iskano == polje[i]){
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
//sesteje in odsteje vektorjer (vnesi polje1 in polje2 in x = velikost polja; vsota je polje3 razlika je polje4)
|
||||
void vsotarazlika (int &x, int polje1[], int polje2[], int polje3[], int polje4[]){
|
||||
cout << "Vpisi velikost vektorja: ";
|
||||
cin >> x;
|
||||
cout << "Vpisi vektor 1: ";
|
||||
vpis(polje1, x);
|
||||
cout << "Vpisi vektor 2: ";
|
||||
vpis(polje2, x);
|
||||
for(int i = 0; i < x; i++){
|
||||
polje3[i] = polje1[i] + polje2[i];
|
||||
}
|
||||
for(int i = 0; i < x; i ++){
|
||||
polje4[i] = polje1[i] - polje2[i];
|
||||
}
|
||||
}
|
||||
// zmnozi vektor1 s skalarjem (vnesi polje1, polje3 je rezultat, x = velikost polij, j = skalar)
|
||||
void mnozenjesskalarjem(const int polje1[], int polje3[],const int x,const int j){
|
||||
for(int i = 0; i < x; i++){
|
||||
polje3[i] = polje1[i] * j;
|
||||
}
|
||||
}
|
||||
// vrne skalarni produkt j (vnesi polje1 in polje2, x = velikost polij)
|
||||
int skalarniprodukt(const int polje1[], const int polje2[], const int x){
|
||||
int polje3[300];
|
||||
for(int i = 0; i < x; i++){
|
||||
polje3[i] = polje1[i] * polje2[i];
|
||||
}
|
||||
int j = 0;
|
||||
for(int i = 0; i < x; i++){
|
||||
j += polje3[i];
|
||||
}
|
||||
return j;
|
||||
}
|
||||
//izracuna vektorski produkt polja1 in polja2 v polju3
|
||||
void vektorskiprodukt(int polje1[], int polje2[], int polje3[], const int x){
|
||||
cout << "Vektorsi produkt" << endl;
|
||||
cout << "Vpisi vektor 1: ";
|
||||
vpis(polje1, x);
|
||||
cout << "Vpisi vektor 2: ";
|
||||
vpis(polje2, x);
|
||||
polje3[0] = polje1[1]*polje2[2] - polje1[2]*polje2[1];
|
||||
polje3[1] = polje1[2]*polje2[0] - polje1[0]*polje2[2];
|
||||
polje3[2] = polje1[0]*polje2[1] - polje1[1]*polje2[0];
|
||||
}
|
||||
// najdi naslednje prastevilo
|
||||
int stevilo(int x){
|
||||
int del;
|
||||
x++;
|
||||
for(x; x>0; x++){
|
||||
del = 0;
|
||||
for(int i=2; i<x; i++){
|
||||
if(x%i==0){del=i;}
|
||||
}
|
||||
if(del==0){return x;}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
// najdi prastevila v območju
|
||||
void prastevila(int polje1[], int &x){
|
||||
int j, k;
|
||||
cout << "Izpis prastevil" << endl << "Vpisi spodnjo mejo: ";
|
||||
cin >> j;
|
||||
cout << "Vpisi zgorno mejo: ";
|
||||
cin >> k;
|
||||
cout << endl;
|
||||
x = 0;
|
||||
while (k > j) {
|
||||
j = stevilo(j);
|
||||
if(j < k){
|
||||
polje1[x] = j;
|
||||
x++;
|
||||
}
|
||||
}
|
||||
}
|
||||
//bubble sort
|
||||
void sort(int polje[], const int x){
|
||||
for (int j = 0; j < x; j++){
|
||||
for (int i = 0; i < x-j-1;i++){
|
||||
if(polje[i]>polje[i+1]){
|
||||
int tem = polje[i];
|
||||
polje[i] = polje[i+1];
|
||||
polje[i+1] = tem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// najdi mediano
|
||||
double mediana(int polje1[], int &x){
|
||||
double j;
|
||||
int d;
|
||||
cout << "Vpisi velikost polja: ";
|
||||
cin >> x;
|
||||
cout << "Vpisi v polje: ";
|
||||
vpis(polje1, x);
|
||||
sort(polje1, x);
|
||||
if(x % 2 == 0){
|
||||
d = x / 2;
|
||||
j = polje1[d] + polje1[d - 1];
|
||||
j /= 2;
|
||||
return j;
|
||||
}else{
|
||||
d = x / 2;
|
||||
j = polje1[d];
|
||||
return j;
|
||||
}
|
||||
}
|
||||
|
||||
double povprecje(const int polje1[], const int x){
|
||||
double j = 0;
|
||||
for (int i = 0; i < x; i++){
|
||||
j = j + polje1[i];
|
||||
}
|
||||
j /= x;
|
||||
return j;
|
||||
}
|
||||
// standardna deviacia
|
||||
double STD(const int polje1[], const int x, const double j){
|
||||
double k = 0; // E(x- povp(x))^2
|
||||
for(int i = 0; i < x; i ++){
|
||||
k = k + pow(polje1[i]-j,2);
|
||||
}
|
||||
k = k/(x-1);
|
||||
k = sqrt(k);
|
||||
return k;
|
||||
}
|
||||
|
||||
int sekvenca(int polje1[], int x){
|
||||
vpis(polje1,x);
|
||||
|
||||
for(int i = 0;i<x;i++){
|
||||
if(polje1[i]==0){
|
||||
polje1[i] = -1;
|
||||
}
|
||||
}
|
||||
|
||||
int sum1 = 0;
|
||||
for(int k = 1;k<=x-1;k++){
|
||||
int sum2 = 0;
|
||||
|
||||
for(int i = 1;i<=x-k;i++){
|
||||
sum2 += polje1[i-1] * polje1[i-1+k];
|
||||
}
|
||||
|
||||
sum1 += sum2*sum2;
|
||||
}
|
||||
return sum1;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
int polje1[400];
|
||||
int polje2[400];
|
||||
int polje3[400];
|
||||
int polje4[400];
|
||||
int x; // velikost polja
|
||||
double j; // zacasna spremenljivka
|
||||
|
||||
//1 najdi pozicijo in vrednost minimalnega stevila
|
||||
int poz = 0; //pozicija (prenos preko reference
|
||||
int minvred; // minimalna vrednost (prenos preko reference)
|
||||
minimalna(polje1, x, poz, minvred);
|
||||
cout << "Minimalna vrednost: " << minvred << endl;
|
||||
cout << "Pozicija minimalne vrednosti: " << poz << endl << endl;
|
||||
|
||||
//2 najdi iskano stevilo
|
||||
j = index (polje1, x);
|
||||
cout << "Pozicija iskanega stevila: " << j << endl << endl;
|
||||
|
||||
//3 Vrne vsoto in razliko vektorjev
|
||||
cout << "Vektorji" << endl << endl;
|
||||
vsotarazlika(x, polje1, polje2, polje3, polje4);
|
||||
cout << "Vsota vektorjev: ";
|
||||
izpis(polje3, x);
|
||||
cout << "Razlika vektorjev: ";
|
||||
izpis(polje4, x);
|
||||
|
||||
//4 zmnozi vektor1 s skalarjem
|
||||
cout << "Vpisi skalar: ";
|
||||
cin >> j;
|
||||
mnozenjesskalarjem(polje1, polje3, x, j);
|
||||
cout << "Skalarni produkt vektorja 1: ";
|
||||
izpis(polje3, x);
|
||||
|
||||
//5 skalarni produkt
|
||||
j = skalarniprodukt(polje1, polje2, x);
|
||||
cout << "Skalarni produkt vektorja 1 in 2 je: " << j << endl << endl;
|
||||
|
||||
//6 vektorski produkt
|
||||
x = 3;
|
||||
vektorskiprodukt(polje1, polje2, polje3, x);
|
||||
cout << "Vektorski produkt je: ";
|
||||
izpis(polje3,x);
|
||||
|
||||
//7 izpis prastevil
|
||||
prastevila(polje1, x);
|
||||
izpis(polje1, x);
|
||||
|
||||
//8 izracunaj mediano
|
||||
cout << "Izracun mediane, povprecja, Std, sortiranje" << endl << endl;
|
||||
x = 0;
|
||||
j = mediana(polje1,x);
|
||||
cout << "Mediana polja je: " << j << endl;
|
||||
|
||||
//9 povprecna vrednost in standardna deviacija
|
||||
j = povprecje(polje1,x);
|
||||
cout << "Povprecje polja je: " << j << endl;
|
||||
j = STD(polje1, x, j);
|
||||
cout << "Standardna deviacia je: " << j << endl;
|
||||
|
||||
//10 bubble sort
|
||||
cout << "Sortirano polje1: ";
|
||||
izpis(polje1, x);
|
||||
|
||||
//11 Sekvenca
|
||||
x = 305;
|
||||
j = sekvenca(polje1, x);
|
||||
cout << j;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user