- #include "stdafx.h"
- #include "iostream"
- #include "vector"
- using namespace std;
- //*****************************
- void generuj(int tablica[], int rozmiar, int zakres)
- {
- for (int i = 0; i < rozmiar; i++)
- {
- tablica[i] = rand() % (zakres + 1);
- }
- }
- //*****************************
- void wypisz(int tablica[], int rozmiar, char separator)
- {
- for (int i = 0; i < rozmiar; i++)
- cout << tablica[i] << separator;
- cout << endl;
- }
- //*****************************
- void przesun(int tablica[], int rozmiar)
- //funkcja void przesun(int tab[], int rozmiar)
- //Przesuwa elementy tablicy wg zasady
- //0 ->1
- //1 ->2 ..
- //ostatni->pierwszy
- {
- int tmp;
- tmp = tablica[rozmiar - 1];//zapami�tuj� ostatni element
- for (int i = rozmiar - 1; i > 0; i--)
- {
- tablica[i] = tablica[i - 1];
- }
- tablica[0] = tmp;//ostatni na pierwszy
- }
- //*****************************
- bool czyObokSiebie(int tablica[], int rozmiar)
- //funkcja bool czyOK(int tab[], int rozmiar)
- //sprawdza czy w tablicy wyst�puj� obok siebie jednakowe elementy
- //tak - wynik true 2 4 6 6 8
- //nie - wynik false 2 4 6 8 0
- {
- for (int i = 0; i <rozmiar - 1; i++)
- {
- if (tablica[i] == tablica[i + 1])
- return false;
- }
- return true;
- }
- //*****************************
- bool czyKolejne(int tablica[], int rozmiar)
- //funkcja bool czyOK(int tab[], int rozmiar)
- //sprawdza czy w tablicy wyst�puj� obok siebie kolejne elementy
- //2 5 7 8 2 tak
- //1 4 7 2 8 nie
- {
- for (int i = 0; i <rozmiar - 1; i++)
- {
- if (tablica[i] + 1 == tablica[i + 1])
- return true;
- }
- return false;
- }
- //*****************************
- bool pinOk(char pin1[])
- //
- {
- int i, j, ileZnakow;
- ileZnakow = strlen(pin1);
- if (ileZnakow != 4)
- {
- cout << "Zla liczba znakow!\n"; return false;
- }
- for (int i = 0; i < ileZnakow; i++)
- {
- if (!isdigit(pin1[i]))
- {
- cout << "Musza byc tylko cyfry!!\n"; return false;
- }
- }
- for (int i = 0; i < ileZnakow; i++)
- {
- for (int j = i + 1; j < ileZnakow; j++)
- if (pin1[i] == pin1[j])
- {
- cout << "Znaki powtarzaja sie!\n"; return false;
- }
- }
- return true;
- }
- //*****************************
- bool czyZawiera(char napis[], char znak)
- {
- int i = 0;
- while (napis[i] != '\0')
- {
- if (napis[i] == znak)
- return true;
- i++;
- }
- return false;
- }
- //*****************************
- bool czyPowtorzone(char napis[])
- {
- int ileZnakow = strlen(napis);
- for (int i = 0; i < ileZnakow; i++)
- {
- for (int j = i + 1; j < ileZnakow; j++)
- if (napis[i] == napis[j])
- return true;
- }
- return false;
- }
- //*****************************
- bool czyOK1(char haslo[])
- //Funkcja sprawdza czy zostało podane prawidłowe hasło
- //prawidłowa liczba znaków >6, W hasle nie mogą wystapić znaki :!@#$%^&*() {} ? <>
- //znaki w hasle nie mogą się powtarzac
- //pozostałe znaki sa dozwolone
- {
- char zabronione[] = "!@#$%^&*(){}?<>";
- int ileZnakow = strlen(haslo);
- if (ileZnakow <= 6)
- {
- cout << "zla liczba znakow!!\n";
- return false;
- }
- for (int i = 0; i < ileZnakow; i++)
- {
- if (czyZawiera(zabronione, haslo[i]))
- {
- cout << "Zabronione znaki w hasle!!!\n";
- return false;
- }
- }
- if (czyPowtorzone(haslo))
- {
- cout << "Powtorzone znaki w hasle!!\n";
- return false;
- }
- cout << "OK\n";
- return true;
- }
- bool czyNalezy(vector<int>liczby, int liczba)
- {
- for (int i = 0; i < liczby.size(); i++)
- {
- if (liczby[i] == liczba)
- {
- return true;
- }
- }
- return false;
- }
- int f1(vector<int>liczby)
- {
- vector<int>wynik;
- for (int i = 0; i < liczby.size(); i++)
- {
- if (!czyNalezy(wynik, liczby[i]))
- {
- wynik.push_back(liczby[i]);
- }
- }
- return wynik.size();
- }
- //*****************************
- char litera()
- {
- char znak;
- int licznik = 0;
- do{
- cout << "wprowadz znak: ";
- cin >> znak;
- if (isupper(znak)) licznik++;
- if (islower(znak)) licznik++;
- } while (licznik == 0);
- return znak;
- }
- //*****************************
- int liczba()
- {
- char liczby;
- do{
- cout << "wpisz liczbe dodatnia: ";
- cin >> liczby;
- } while (liczby < 0);
- return liczby;
- }
- //*****************************
- bool czypierwsza(int liczba)
- {
- int licznik = 0;
- for (int i = 1; i < liczba; i++)
- {
- if (liczba % i == 0) licznik++;
- }
- if (licznik > 2) return false;
- return true;
- }
- //*****************************
- bool CzyOK(char haslo[])
- {
- cout << litera();
- int ileZnakow = strlen(haslo);
- int ileM = 0;
- int ileD = 0;
- int ileC = 0;
- if (ileZnakow <= 5 || ileZnakow >= 10) return false;
- int i = 0;
- while (haslo[i] != '\0')
- {
- if (isdigit(haslo[i])) ileC++;
- if (isupper(haslo[i])) ileD++;
- if (islower(haslo[i])) ileM++;
- i++;
- }
- if (ileM + ileD + ileC != ileZnakow)
- {
- return false;
- }
- for (int i = 0; i < ileZnakow; i++)
- {
- for (int j = i + 1; j < ileZnakow; j++)
- {
- if (haslo[i] == haslo[j]) return false;
- }
- }
- return true;
- }
- int zad5(int liczba)
- //Funkcja zwraca w wynku sume cyfr liczby podaj jako parametr
- {
- int suma = 0;
- do
- {
- suma += liczba % 10;
- liczba /= 10;
- } while (liczba > 0);
- return suma;
- }
- bool czyNalezy(int tablica[], int rozmiar, int wartosc)
- //Sprawdza czy wartosc, przekazana jako parametr, jest jednym z elementów tablicy
- {
- for (int i = 0; i < rozmiar; i++)
- if (tablica[i] == wartosc)
- return true;
- return false;
- }
- bool czyZawiera(int tablica1[], int rozmiar1, int tablica2[], int rozmiar2)
- //sprawdza czy wszystkie elementy tablica2 są elementami tablica1
- {
- for (int i = 0; i < rozmiar2; i++)
- {
- if (!czyNalezy(tablica1, rozmiar1, tablica2[i]))
- return false;
- }
- return true;
- }
- void unikalnosc(int tablica[], int tmp[], int rozmiar)
- {
- int j = 0;
- for (int i = 0; i < rozmiar; i++)tmp[i] = -1;
- for (int i = 0; i < rozmiar; i++)
- {
- if (!czyNalezy(tmp, rozmiar, tablica[i]))
- {
- tmp[j] = tablica[i]; j++;
- //cout << tablica[i] << endl;
- //mogę wypisywać lub nie, w zależności od założeń
- }
- }
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- vector<int>liczby;
- liczby.push_back(5);
- liczby.push_back(8);
- liczby.push_back(4);
- liczby.push_back(5);
- liczby.push_back(1);
- liczby.push_back(8);
- liczby.push_back(9);
- liczby.push_back(1);
- liczby.push_back(5);
- cout << liczba();
- //cout << f1(liczby);
- //char haslo[] = "QWERTY11";
- //cout << czypierwsza(6);
- //cout << CzyOK(haslo);
- system("pause");
- return 0;
- }