Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<fstream>
- #include<iostream>
- using namespace std;
- void sort(int A[], int n) {
- for (int i = 0; i < n - 1; i++) {
- for (int j = i + 1; j < n; j++) {
- if (A[j] < A[i]) {
- int x = A[i];
- A[i] = A[j];
- A[j] = x;
- }
- }
- }
- }
- int ar_kitas_turi(int kandidatas, int kito_masyvas[], int kito_masyvo_ilgis){
- for(int i = 0; i < kito_masyvo_ilgis; i++)
- if(kito_masyvas[i] == kandidatas) return 1;
- return 0;
- }
- int main() {
- setlocale(LC_ALL, "Lithuanian");
- // declare variables
- int jurgio_zais_numeriai[100], linos_zais_numeriai[100], Lm[100], l, Jm[100], j, K[100], k, nr;
- int jurgio_zaisliuku_kiekis, linos_zaisliuku_kiekis;
- // init arrays to 0
- for (int i = 0; i <= 100; i++){
- linos_zais_numeriai[i] = 0;
- jurgio_zais_numeriai[i] = 0;
- }
- // skaitomi duomenys ir nustatomas kiekis zaisliuku kiekvienam veikejui
- ifstream df("duom.txt");
- df >> linos_zaisliuku_kiekis;
- df >> jurgio_zaisliuku_kiekis;
- printf("Linos zais #: %d\n", linos_zaisliuku_kiekis);
- printf("Jurgio zais #: %d\n", jurgio_zaisliuku_kiekis);
- // konstruojame Linos masyva (is failo reiksmes keliame i masyva).
- for (int i = 0; i < linos_zaisliuku_kiekis; i++){
- df >> nr;
- linos_zais_numeriai[i] = nr;
- }
- // // pasitikriname ar teisingai sukonstravome masyva
- // for (int i = 0; i <= linos_zaisliuku_kiekis; i++){
- // printf("Skaicius: %d --> %d\n", i, linos_zais_numeriai[i]);
- // }
- // konstruojame Jurgio masyva
- for (int i = 0; i < jurgio_zaisliuku_kiekis; i++){
- df >> nr;
- jurgio_zais_numeriai[i] = nr;
- }
- df.close();
- // atrinktu Linos siulomus mainams su Jurgiu žaisliuku numerius;
- // 1. Mainams galima siulyti tuos žaisliukus, kuriu kolekcijoje yra daugiau kaip vienas.
- // ... taigi pirmiausia issirikiuojame
- sort(linos_zais_numeriai, linos_zaisliuku_kiekis);
- // ... darome prielaida, jog max pasikartojanciu zaisliuku skaicius yra 2
- int linos_zaisliukai_mainams[100];
- int linos_kiekis_mainams = 0;
- for(int i = 0; i < linos_zaisliuku_kiekis; i++){
- if(linos_zais_numeriai[i] == linos_zais_numeriai[i + 1]){
- // 2. Taciau mainams netinka tie žaisliukai, kuriuos jau turi draugas
- int kitas_jau_turi = ar_kitas_turi(linos_zais_numeriai[i], jurgio_zais_numeriai, jurgio_zaisliuku_kiekis);
- printf("Kitas turi (1 reiskia turi)? : %d\n" , kitas_jau_turi);
- if(!kitas_jau_turi){
- linos_zaisliukai_mainams[linos_kiekis_mainams] = linos_zais_numeriai[i];
- linos_kiekis_mainams++;
- }
- }
- }
- printf("\nLinos zaislai mainams: ");
- for (int i = 0; i < linos_kiekis_mainams; i++){
- printf("%d ", linos_zaisliukai_mainams[i]);
- }
- // 3. Mainams negalima siulyti keliu vienodu žaisliuku.
- // atrinktu Jurgio siulomus mainams su Lina žaisliuku numerius;
- sort(jurgio_zais_numeriai, jurgio_zaisliuku_kiekis);
- // ... darome prielaida, jog max pasikartojanciu zaisliuku skaicius yra 2
- int jurgio_zaisliukai_mainams[100];
- int jurgio_kiekis_mainams = 0;
- for(int i = 0; i < jurgio_zaisliuku_kiekis; i++){
- if(jurgio_zais_numeriai[i] == jurgio_zais_numeriai[i + 1]){
- int kitas_jau_turi = ar_kitas_turi(jurgio_zais_numeriai[i], linos_zais_numeriai, linos_zaisliuku_kiekis);
- printf("Kitas turi (1 reiskia turi)? : %d\n" , kitas_jau_turi);
- if(!kitas_jau_turi){
- jurgio_zaisliukai_mainams[jurgio_kiekis_mainams] = jurgio_zais_numeriai[i];
- jurgio_kiekis_mainams++;
- }
- }
- }
- printf("\nJurgiozaislai mainams: ");
- for (int i = 0; i < jurgio_kiekis_mainams; i++){
- printf("%d ", jurgio_zaisliukai_mainams[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement