Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- #include <stdlib.h>
- #include <time.h>
- #include <string>
- using namespace std;
- // Vaja #1
- void najmanjsiElement(int tabela[], int &najmanjse, int &indeks, int velikost) {
- najmanjse = tabela[0];
- for (int i = 0; i < velikost; i++) {
- if (najmanjse > tabela[i]) {
- najmanjse = tabela[i];
- indeks = i;
- }
- }
- }
- // Vaja #2
- int vrniIndeks(int tabela[], int podanaVrednost, int velikost) {
- for (int i = 0; i < velikost; i++) {
- if (tabela[i] == podanaVrednost) {
- return i;
- }
- }
- return -1;
- }
- // Vaja #3
- void sestejVektor(int vektorA[], int vektorB[], int* vektorC, int velikostTabele) {
- for (int i = 0; i < velikostTabele; i++) {
- vektorC[i] = vektorA[i] + vektorB[i];
- }
- }
- void odstejVektor(int vektorA[], int vektorB[], int* vektorC, int velikostTabele) {
- for (int i = 0; i < velikostTabele; i++) {
- vektorC[i] = vektorA[i] - vektorB[i];
- }
- }
- // Vaja #4
- void vektorSkalarProdukt(int vektor[], int skalar, int* vektorC, int velikostTabele) {
- for (int i = 0; i < velikostTabele; i++) {
- vektorC[i] = vektor[i] * skalar;
- }
- }
- // Vaja #5
- int skalarniProduktDvehVektorjev(int vektorA[], int vektorB[], int velikostTabele) {
- int cifra = 0;
- for (int i = 0; i < velikostTabele; i++) {
- cifra += vektorA[i] * vektorB[i];
- }
- return cifra;
- }
- // Vaja #6
- void vektorskiProdukt(int vektorA[], int vektorB[], int velikostPolja) {
- int matrika[100][100];
- for (int i = 0; i < velikostPolja; i++) {
- for (int j = 0; j < velikostPolja; j++) {
- matrika[i][j] = vektorA[i] * vektorB[j];
- }
- }
- for (int i = 0; i < velikostPolja; i++) {
- for (int j = 0; j < velikostPolja; j++) {
- cout << matrika[i][j] << "\t";
- }
- cout << endl;
- }
- }
- // Vaja #6
- void vektorskiProdukt(int vektorA[], int vektorB[], int* vektorC, int velikostTabele) {
- for (int i = 0; i < velikostTabele; i++) {
- vektorC[i] = vektorA[i] * vektorB[i];
- }
- }
- // Vaja #7
- void iskanjePrastevil(int n, int m, int *prastevila, int &stPrastevil) {
- int stevec = 0;
- for (int j = n; j < m; j++) {
- int tmp = j;
- bool isPrime = true;
- int primeNum = 0;
- for (int i = 2; i < tmp; i++) {
- if (tmp % i == 0) {
- isPrime = false;
- break;
- }
- }
- if (isPrime) {
- prastevila[stevec] = tmp;
- stevec++;
- }
- }
- stPrastevil = stevec;
- }
- // Vaja #8
- void mediana(int tabela[], int velikostTabele) {
- if (velikostTabele % 2 == 0) {
- int sredina = (velikostTabele / 2);
- // cout << "Velikost tabele: " << velikostTabele << " sredina " << velikostTabele / 2 <<endl;
- float mediana = (tabela[sredina] + tabela[sredina + 1]) / 2;
- cout << "Mediana je: " << mediana << endl;
- }
- else {
- float mediana = tabela[(velikostTabele - 1) / 2];
- cout << "Mediana je: " << mediana << endl;
- }
- }
- // Vaja 9
- void izracunPovprecneInDeviacije(int tabela[], int velikostTabele) {
- int vsota = 0;
- for (int i = 0; i < velikostTabele; i++) {
- vsota += tabela[i];
- }
- float povprecje = (vsota / velikostTabele);
- float standardniOdklonVsota = 0;
- for (int i = 0; i < velikostTabele; i++) {
- standardniOdklonVsota += ((tabela[i] - povprecje) * (tabela[i] - povprecje)); // <-- na kvadrat
- }
- float varianca = sqrt((standardniOdklonVsota / velikostTabele));
- cout << "Povprecna vrednost tabele je: " << povprecje << endl;
- cout << "Standardni odklon tabele je: " << varianca << endl;
- }
- // Vaja 10
- void bubbleSort(int P[], int velikostTabele, int* sortiranaTabela) {
- for (int i = 0; i < velikostTabele; i++) {
- for (int j = 0; j < velikostTabele - 1; j++) {
- if (P[j] > P[j + 1]) {
- int tmp = P[j];
- P[j] = P[j + 1];
- P[j + 1] = tmp;
- }
- }
- }
- for (int i = 0; i < velikostTabele; i++) {
- sortiranaTabela[i] = P[i];
- //izpis praštevil
- cout << P[i] << " ";
- }
- cout << endl;
- }
- int main()
- {
- const int velikostTabele = 10;
- int tabela[velikostTabele];
- // naključno polnjenje tabele
- srand(time(NULL));
- for (int i = 0; i < velikostTabele; i++) {
- tabela[i] = rand() % 100 + 1;
- }
- // izpis tabele
- /*
- for (int i = 0; i < velikostTabele; i++) {
- cout << tabela[i] << endl;
- }
- */
- // Vaja #1
- int najmanjseStevilo = 0;
- int indeks = 0;
- najmanjsiElement(tabela, najmanjseStevilo, indeks, velikostTabele);
- cout << "Najmanjse stevilo je " << najmanjseStevilo << " na indeksu " << indeks << endl;
- // Vaja #2
- int podanaVrednost;
- cout << "Podaj vrednost: ";
- cin >> podanaVrednost;
- cout << "Podana vrednost " << podanaVrednost << " je na indeksu " << vrniIndeks(tabela, podanaVrednost, velikostTabele) << endl;
- // Vaja #3
- int vektorA[velikostTabele];
- int vektorB[velikostTabele];
- int vektorCSum[velikostTabele];
- int vektorCSubstract[velikostTabele];
- // nakljucno polnjenje vektorjev
- for (int i = 0; i < velikostTabele; i++) {
- vektorA[i] = rand() % 100;
- vektorB[i] = rand() % 100;
- }
- sestejVektor(vektorA, vektorB, vektorCSum, velikostTabele);
- odstejVektor(vektorA, vektorB, vektorCSubstract, velikostTabele);
- // Vaja #4
- int skalar;
- cout << "Vnesi skalarja za produkt vektorja s skalarjem: ";
- cin >> skalar;
- int vektorSkalarProduktTabela[velikostTabele];
- vektorSkalarProdukt(vektorA, skalar, vektorSkalarProduktTabela, velikostTabele);
- // Vaja #4
- int vektorCProdukt[velikostTabele];
- vektorskiProdukt(vektorA, vektorB, vektorCProdukt, velikostTabele);
- // Vaja #5
- cout << "Skalarni produkt dveh vektorjev je " << skalarniProduktDvehVektorjev(vektorA, vektorB, velikostTabele) << endl;
- // Vaja #6
- vektorskiProdukt(vektorA, vektorB, velikostTabele);
- // izpis vektorjev
- /*
- for (int i = 0; i < velikostTabele; i++) {
- cout << vektorA[i] << " + " << vektorB[i] << " = " << vektorCSum[i] << endl;
- cout << vektorA[i] << " - " << vektorB[i] << " = " << vektorCSubstract[i] << endl;
- cout << vektorA[i] << " * " << vektorB[i] << " = " << vektorCProdukt[i] << endl;
- cout << vektorA[i] << " * " << skalar << " = " << vektorSkalarProduktTabela[i] << endl;
- }
- */
- // Vaja #7
- int n;
- int m;
- int prastevila[200000];
- int stPrastevil = 0;
- cout << "Vnesi spodnjo mejo: ";
- cin >> n;
- cout << "Vnesi zgornjo mejo: ";
- cin >> m;
- iskanjePrastevil(n, m, prastevila, stPrastevil);
- // izpis praštevil
- for (int i = 0; i < stPrastevil; i++) {
- cout << prastevila[i] << " ";
- }
- cout << endl;
- // Vaja #8 in Vaja #10
- int sortiranaTabela[velikostTabele];
- bubbleSort(tabela, velikostTabele, sortiranaTabela);
- mediana(sortiranaTabela, velikostTabele);
- // Vaja #9
- izracunPovprecneInDeviacije(tabela, velikostTabele);
- // Vaja #11
- /*
- int L;
- cout << "Vpisi velikost sekvence: ";
- cin >> L;
- int S[10000];
- float E = 0;
- for (int i = 0; i < L; i++) {
- S[i] = i;
- }
- int s = 0;
- for (int k = 1; k <= L - 1; k++) {
- int Ck = 0;
- for (int i = 1; i <= L - k; i++) {
- Ck += S[i] * S[i + k];
- }
- E += Ck * Ck;
- cout << "CK: " << Ck << " E: " << E << endl;
- }
- cout << "E: " << E << endl;
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement