Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- #include <string>
- using namespace std;
- // Vaja #1
- void obrniNiz(char niz[100], string &obrnjenoGeslo) {
- char obrnjen[100];
- for (int i = strlen(niz) - 1, j = 0; i != -1; i--, j++) {
- obrnjen[j] = niz[i];
- obrnjenoGeslo += obrnjen[j];
- }
- }
- // Vaja #2
- void znaki(char polje[], int &soglasniki, int &samoglasniki) {
- char samoglas[10] = { 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U' };
- for (int i = 0; i < strlen(polje); i++) {
- bool jeSoglasnik = false;
- for (int j = 0; j < strlen(samoglas); j++) {
- if (polje[i] == samoglas[j]) {
- samoglasniki++;
- jeSoglasnik = true;
- break;
- }
- }
- if (jeSoglasnik == false) soglasniki++;
- }
- }
- // Vaja #3
- bool jePalindrom(string niz) {
- bool je = false;
- for (int i = 0; i < niz.length(); i++) {
- if (niz[i] == niz[niz.length() - i]) {
- je = true;
- }
- }
- if (je) return false;
- else return true;
- }
- // Vaja #4
- bool staEnaka(string niz1, string niz2) {
- if (niz1.length() != niz2.length()) return false;
- for (int i = 0; i < niz1.length(); i++) {
- if (niz1[i] != niz2[i]) return false;
- }
- return true;
- }
- // Vaja #5
- string zdruzi(string niz1, string niz2) {
- return niz1 + niz2;
- }
- // Vaja #6
- string vMaleCrke(string niz) {
- string mala = "";
- for (int i = 0; i < niz.length(); i++) {
- mala += niz[i] + 32;
- }
- return mala;
- }
- // Vaja #7
- void nizVPolje(string niz, int* polje) {
- int tabela[100];
- for (int i = 0; i < niz.length(); i++) {
- tabela[i] = int(niz[i]);
- polje[i] = tabela[i];
- // cout << tabela[i] << " ";
- }
- // cout << endl;
- }
- // Vaja #8
- string poljeVNiz(int tabela[], int velikost) {
- string niz = "";
- for (int i = 0; i < velikost; i++) {
- niz += (char)tabela[i];
- }
- return niz;
- }
- // Vaja #9
- void kriptiranje(char geslo[], int kljuc, int* mnozenoPolje) {
- string obrnjenoGeslo;
- obrniNiz(geslo, obrnjenoGeslo);
- int polje[100];
- nizVPolje(obrnjenoGeslo, polje);
- cout << "Kriptirano polje: ";
- for (int i = 0; i < obrnjenoGeslo.length(); i++) {
- mnozenoPolje[i] = polje[i] * kljuc;
- cout << mnozenoPolje[i] << " ";
- }
- cout << endl;
- }
- // Vaja #10
- string dekripcija(int mnozenoPolje[], int kljuc, int dolzina) {
- int deljenoPolje[100];
- for (int i = 0; i < dolzina; i++) {
- deljenoPolje[i] = mnozenoPolje[i] / kljuc;
- }
- // spremeni polje v niz
- string neobrnjenNiz = poljeVNiz(deljenoPolje, dolzina);
- // pretvori string v char polje zaradi obracanja niza
- char charDekriptiranNiz[100];
- strcpy_s(charDekriptiranNiz, neobrnjenNiz.c_str());
- // sprejme char polje in prek reference vrne obrnjen string
- string dekriptiranNiz;
- obrniNiz(charDekriptiranNiz, dekriptiranNiz);
- return dekriptiranNiz;
- }
- // Vaja #11
- void izris(string niz) {
- int n = niz.length();
- for (int i = 0; i < n; i++) {
- // stevilo presledkov
- int k = n - i - 2;
- int dolzinaVrstice = n + 2 * i;
- for (int j = 0; j < dolzinaVrstice; j++) {
- // izpise presledke
- if (k >= j) cout << " ";
- // izpise najvisjo crko
- if (j == n) cout << niz[i];
- // izpise zadnjo crko
- if (j == dolzinaVrstice - 1) cout << niz[i];
- else if (j > n-1) cout << " ";
- }
- cout << endl;
- // izrise zadnjo vrsto 2x
- if (i == n - 1) cout << niz << niz;
- }
- }
- int main()
- {
- char niz[] = "avtomobil";
- string obrnjenNiz;
- // Vaja #1
- obrniNiz(niz, obrnjenNiz);
- cout << "Obrnjen niz: " << obrnjenNiz << endl;
- // Vaja #2
- int soglasniki = 0;
- int samoglasniki = 0;
- znaki(niz, soglasniki, samoglasniki);
- cout << "Samoglasniki " << samoglasniki << endl;
- cout << "Soglasniki " << soglasniki << endl;
- // Vaja #3
- string palindrom = "omilimo";
- cout << "Ali je " << palindrom << " palindrom? " << (jePalindrom(palindrom) ? "Da" : "Ne") << endl;
- // Vaja #4
- cout << "Sta enaka " << staEnaka("niz51", "niz51") << endl;
- // Vaja #5
- cout << "Zdruzena niza: " << zdruzi("Hello", "World") << endl;
- // Vaja #6
- cout << "Velike v male: " << vMaleCrke("HELLOWORLD") << endl;
- // Vaja #7
- int polje[100];
- string nizVPoljeNiz = "LepDan";
- nizVPolje(nizVPoljeNiz, polje);
- for (int i = 0; i < nizVPoljeNiz.length(); i++) {
- cout << nizVPoljeNiz[i] << " - " << polje[i] << " ";
- }
- cout << endl;
- // Vaja #8
- int tabela[10] = { 115, 111, 110, 99, 101 };
- cout << "Polje je: " << poljeVNiz(tabela, 10) << endl;
- // Vaja #9
- char geslo[] = "Geslo1234";
- int kljuc = 123123;
- int kriptiranoPolje[100];
- cout << "Geslo je: " << geslo << endl;
- cout << "Nekriptirano polje: ";
- kriptiranje(geslo, kljuc, kriptiranoPolje);
- // Vaja #10
- string dekriptiran = dekripcija(kriptiranoPolje, kljuc, strlen(geslo));
- cout << "Dekriptiran niz je: " << dekriptiran;
- cout << endl;
- // Vaja #11
- izris("besedilo");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement