Премини към съдържанието

petar96

Потребител
  • Публикации

    34
  • Регистрация

  • Последно онлайн

Харесвания

1 Неутрална репутация

Всичко за petar96

  • Титла
    Потребител

Последни посетители

457 прегледа на профила
  1. petar96

    TwidoSuite

    Здравейте, имам следната задача Сигнална инсталация, състояща се от мигаща светлина и звуков сигнал, се задейства 1 секунда след активиране на датчик. Сигнализацията се прекратява с бутон за деактивиране. Параметрите на мигащата светлина са: време за светене 400 мс и период на повторение 1 секунда. Звуков сигнал е с честота 2 kHz. Да се проектира програма за ПЛК twido за управление на сигналната инсталация. Ще съм благодарен, ако някой може да помогне
  2. petar96

    HTML И CSS 3

    Здравейте, някои може ли да ми помогне с решението на тези въпроси. Търсих навсякъде, но немога да намеря отговорите. Благодаря предварително :)
  3. petar96

    Проблем с Code Block

    #include <iostream> #include <graphics.h> #include<math.h> using namespace std; int main() { initwindow(800, 600, ""); int x,y,r; x=60; y=60; r=50; setcolor(15); circle(x,y,r); for(int i=1;i<=300;i++) { setcolor(0); circle(x,y,r); x=x+1; setcolor(15); circle(x,y,r); } int Xf, Yf, Xzr, Yzr, Xr, Yr; float Sx, S; Xf=x; Xzr=x; Yzr=y; Yf=y-r; S=1.1; for(int i=1;i<=5;i++) { y=Yf+(y-Yf)*S; r=r*S; S=S*1.1; circle(x,y,r); } Xr=x; Yr=y; float A=0; for(int i=0; i<=9; i++) {A=A+3.14/4; x=Xr+(Xzr-Xr)*cos(A)-(Yzr-Yr)*sin(A); y=Yr+(Xzr-Xr)*sin(A)+(Yzr-Yr)*cos(A); circle(x,y,50); } getch(); return 0; } Не мисля че е в кода защото в университета върви
  4. petar96

    Проблем с Code Block

    Искам да попитам защо когато си пусна програмата на Code Block тя не я пуска а ме изхърля, а ужким направих нужните настройки.
  5. petar96

    Проблем с Code Block

    Не е проблем с програмата, тъй като в университета работи #include <iostream> #include "graphics.h" #include "math.h" using namespace std; int main() { int x=60; int y=60; int r=50; int i; float Sx; float Sy=1; int yf; yf=y-r; int xr; int yr; initwindow(800,600,"window"); for (i=10;i<300;i++) { setcolor(RED); circle(x,y,r); delay(10); setcolor(BLACK); circle(x,y,r); x=x+1; } setcolor(RED); circle(x,y,r); for(i=1;i<5;i++) { Sy=Sy*1.1; y=yf+(y-yf)*Sy; r=r*Sy; circle(x,y,r); } getch(); } На code block го правя преди това добавих библиотеката graphics и като натиска да се компилира излиза този прозорец и толкова.
  6. petar96

    Проблем с Code Block

    Не става. Ако някой има програмата като му върви да я прати.
  7. Искам да попитам защо когато си пусна програмата на Code Block тя не я пуска а ме изхърля, а ужким направих нужните настройки.
  8. petar96

    Рисуване

    Здравейте имам една задача да нарисувам една катерица, която яде жълъд, но не мога да си го представя как трябва да го нарисувам. Какви неща да използвам окръжности, дъги. Катерицата трябва да изглежда като тази от скайп.
  9. petar96

    Достъп до член променливи

    Кое му е зле на кода.
  10. Здравейте, имам една курсова, която работи, но днеска я предадох и ми казаха, че достъпа до член променливите трябва да е private, а аз съм ги направил public. Когато ги направя private тогава втория клас не ги разпознава. Затова ако някой може да ми помогне. Ето и кода: #include<iostream>//vhodno izhodna biblioteka #include<string>//za rabota sas string #include<vector>//konteiner vektor #include<fstream>//za rabota s fail #include<iterator> #include<algorithm> using namespace std; class CSongs {// chlen promenlivite private: string zaglavie; string izpulnitel; string klip; int godina; string janr; public: CSongs()//Podrazbirash konstruktor {zaglavie=" "; izpulnitel=" "; klip=" "; godina=0; janr=" ";} CSongs(string zag,string izp, string kl, int god, string jan)//ekspeciten konstruktor {zaglavie=zag; izpulnitel=izp; klip=kl; godina=god; janr=jan;} CSongs(const CSongs& ToCopy)//kopirash konstruktor {zaglavie=ToCopy.zaglavie; izpulnitel=ToCopy.izpulnitel; klip=ToCopy.klip; godina=ToCopy.godina; janr=ToCopy.janr;} // za zapis void setZaglavie(string zag) {zaglavie=zag;} void setIzpulnitel(string izp){izpulnitel=izp;} void setKlip(string kl){klip=kl;} void setGodina(int god){godina=god;} void setJanr(string jan){janr=jan;} // za chetene string getZaglavie(){return zaglavie;} string getIzpulnitel(){return izpulnitel;} string getKlip(){return klip;} int getGodina(){return godina;} string getJanr(){return janr;} friend ostream& operator << (ostream& toStream, const CSongs& obj);// za chetene ot potoka friend istream& operator >> (istream& fromStream, CSongs& obj); // za izvejdane v potoka int vuzrast()//izchislqva vazrasta na pesnite {return 2017 - getGodina();} void print()//za izvejdane na dannite za pesnite {cout<<"\nЗаглавие: "<<zaglavie<<endl; cout<<"Изпълнител: "<<izpulnitel<<endl; cout<<"Клип: "<<klip<<endl; cout<<"Година: "<<godina<<endl; cout<<"Жанр: "<<janr<<endl;} CSongs& operator = (const CSongs& obj)// operator za prisvoqvane {this->zaglavie=obj.zaglavie; this->izpulnitel=obj.izpulnitel; this->klip=obj.klip; this->godina=obj.godina; this->janr=obj.janr; return *this;} bool PesniKlip()//funkciq dali pesenta ima klip { if(klip == "Da") return true; else return false; } bool operator == (const CSongs& obj) const// operator za savpadenie {return this->izpulnitel == obj.izpulnitel;} bool operator < (const CSongs& obj) const // za sravnenie {return this->zaglavie < obj.zaglavie;} static int eqIzpulnitel(const CSongs& obj1, const CSongs& obj2)// funkciq za sravnenie na dva obekta {return obj1.zaglavie == obj2.zaglavie;} }; ostream& operator << (ostream& toStream, const CSongs& obj) {toStream<<obj.zaglavie<<" "<<obj.izpulnitel<<" "<<obj.klip<<" "<<obj.godina<<" "<<obj.janr<<endl; return toStream;} istream& operator >> (istream& fromStream, CSongs& c) {fromStream>>c.zaglavie>>c.izpulnitel>>c.klip>>c.godina>>c.janr; return fromStream;} class CStudio : public CSongs { private: string studio; int BroiAlbumi; double prihodi; public: CStudio(string zag,string izp, string kl, int god, string jan,string c_Studio,int c_BroiAlbumi,double c_Prihodi): CSongs(zag,izp,kl,god,jan) //ekspleciten konstruktor { studio=c_Studio; BroiAlbumi=c_BroiAlbumi; prihodi=c_Prihodi;} CStudio(){}//podrazbirash CStudio(const CStudio& c)//kopirash { zaglavie=c.zaglavie; izpulnitel=c.izpulnitel; klip=c.klip; godina=c.godina; janr=c.janr; studio=c.studio; BroiAlbumi=c.BroiAlbumi; prihodi=c.prihodi;} int getBroiAlbumi()//vrashta broq na albumite {return BroiAlbumi;} string getStudio()//vrashta imeto na studioto {return studio;} double getPrihodi()// vrashta prihodite {return prihodi;} bool Album()//presni koito albumi sa po golemi ot 1 { if(BroiAlbumi > 1) return 1; else return 0;} }; vector<CStudio> st_vec; void Pesni() {ofstream file; file.open("file.txt",ios::out);//sazdavame fail vector<CStudio>::iterator it;//iterator za posledovatelen dostap na elementite for(it=st_vec.begin();it!=st_vec.end();it++)// obhojdame vektora {if((*it).getBroiAlbumi() > 20)//namira studiqta s albumi po golemi ot 20 { file<<"Студио: "<<(*it).getStudio()<<" брой песни: "<<(*it).getBroiAlbumi()<<" Приходи: "<<(*it).getPrihodi()<<endl; cout<<"Студио: "<<(*it).getStudio()<<" брой песни: "<<(*it).getBroiAlbumi()<<" Приходи:"<<(*it).getPrihodi()<<endl; } } file.close(); } void album() {vector<CStudio>:: iterator it;//iterator za posledovatelen dostap na elementite vector<CStudio>:: iterator it2;//iterator za posledovatelen dostap na elementite vector <CStudio> res;//vektor koito savranqva krainiq rezultat sort(st_vec.begin(), st_vec.end());//sortira vektora st_vec it2 = st_vec.begin(); for (it=st_vec.begin();it != st_vec.end();it++)//obhojdame vektora { it=adjacent_find(it2,st_vec.end());// namira dvoiki povtarqshi se elementa if(it == st_vec.end()) //ako nqma povtarqshti se dvoiki prekasva {break;} else //ako ima res.push_back(*it);//vkarva dvoikite v noviq vektor res res.push_back(*(it+1)); it2=it+2; } for(it=res.begin();it!=res.end();it++)//obhojdame vektora if((*it).Album())//namira studiqta izdali po nqkolko albuma na edin i sashti izpalnitel cout<<"Изпълнител: "<<(*it).getIzpulnitel()<<" Студио: "<<(*it).getStudio()<<endl; else cout<<"Няма такива студия"<<endl; } void studio(string studio) {vector<CStudio> v;//iterator za posledovatelen dostap na elementite vector<CStudio> v2;//iterator za posledovatelen dostap na elementite sort(st_vec.begin(),st_vec.end());//sortirame st_vec unique_copy(st_vec.begin(),st_vec.end(),back_inserter(v),CStudio::eqIzpulnitel);//kopirame unikalnite elementi v nov vektor set_difference(st_vec.begin(),st_vec.end(),v.begin(),v.end(),back_inserter(v2));//prehvarlqme elementite koito ne se sreshtat v dvata vektora for(int i= 0; i < v2.size(); i++)// izpalnqvame dokato stignem razmera na vektora if(v2.getStudio() == studio) cout<<v2.getZaglavie()<<" - "<<v2.getIzpulnitel()<<endl; else cout<<"Няма такива песни"<<endl; } void studia() {vector<CStudio>::iterator it;//iterator za posledovatelen dostap na elementite for(it=st_vec.begin();it != st_vec.end();it++)//obhojdame vektora if((*it).getBroiAlbumi() == 1)//namira studiqta s unikalni albumi cout<<"Студио: "<<(*it).getStudio()<<" Брой албуми: "<<(*it).getBroiAlbumi()<<" Приходи: "<<(*it).getPrihodi()<<endl; } void janr(string janr) {vector<CStudio>::iterator it;//iterator za posledovatelen dostap na elementite for(it=st_vec.begin();it != st_vec.end();it++)//obhojdame vektora if((*it).getJanr()==janr && (*it).vuzrast() == 3)//namirat pesnite izdadeni predi 3 godini cout<<"Студио: "<<(*it).getStudio()<<" "<<endl; } int main() {setlocale(LC_ALL, "BGR"); //sazdavame obekti i gi vkarvame vav vektora st_vec CStudio obj1("Toxic","100 Kila","Da",2017,"Rap","Jabulah Entertainment",43, 5000); CStudio obj2("Losh ili dobar","Krisko","Ne",2017,"Rap"," Adamand Records",15, 2500); CStudio obj3("OET","Krisko","Ne",2015,"Rap","Facing The Sun",20, 2500); CStudio obj4("Rodena takava","Dara","Da",2012,"Rock","Virginia Records",1, 1000); CStudio obj5("Vdigam level","Pavell & Venci Venc","Da",2014,"Pop","Sun Records",20, 2000); CStudio obj6("Tam","Veselin Naidenov","Ne",2010,"Pop","Painer",15,500); CStudio obj7("Vdigam level","Pavell & Venci Venc","Da",2012,"Pop","Sun Records",20,2000); CStudio obj8("Bez teb","Preslava","Da",2013,"Pop-folk","Payner",60,5000); CStudio obj9("Tipichno"," F.O","Da",2008,"Rap","FL Records",25,2830); CStudio obj10("Body"," Dimchou ","Da",2016,"Rap","Zanimation",55,4500); st_vec.push_back(obj1); st_vec.push_back(obj2); st_vec.push_back(obj3); st_vec.push_back(obj4); st_vec.push_back(obj5); st_vec.push_back(obj6); st_vec.push_back(obj7); st_vec.push_back(obj8); st_vec.push_back(obj9); st_vec.push_back(obj10); int choice; do { cout<<endl; cout<<"\n Меню \n"<<endl; cout<<"1.Извеждане на данните във файл за студия с брой песни над 20"<<endl; cout<<"2.Студия, който са издали по няколко албума на един и същи изпълнител"<<endl; cout<<"3.Песни, повтарящи се в студиото на изпълнителя"<<endl; cout<<"4.Студио издали 1 път албум "<<endl; cout<<"5.Студия издали песни преди 3 години"<<endl; cout<<"6.Изход"<<endl; cout<<endl; cout<<"Въведете вашият избор: "; cin>>choice; switch (choice) { case 1: Pesni();break; case 2: album();break; case 3: studio("Sun Records");break; case 4: studia();break; case 5: janr("Pop");break; } }while(choice!=6); return 0;} Където е червено там е проблема. Ако някой може да ми помогне как да ги достъпя.
  11. petar96

    Задача с класове

    Здравейте, имам следната задача: Да се състави клас студент (CStudent) член променливи: name; име scores; списък от оценки fn; факултетен номер // експлицитен конструктор fn,nаmе // accessor за name // accessor за получаване на средна оценка getGrade () // добавяне на оценка addScore Да се състави клас (CCourse) student_list; списък от студенти name име на курса // експлицитен конструктор по име на курса // accessor за име на курса name // функция за нанасяне на оценка: addScore (fn, grade) // добавяне на група оценки на даден студент addScores (fn, grade list) // извеждане на резултатите на групата displayScores () извежда име, списък от оценки и средна оценка // добавяне на студент с име и ф.н. към курса makeStudent (fn, name) Главна функция за създаване на клас II и проверка на функциите му Ето и докъде съм стигнал #include <iostream> #include <string> #include <list> //#include <iterator> using namespace std; class CStudent //1st class { protected: string m_strName; list<int> m_iScores; string m_strFn; public: CStudent() //default { m_strName = "unknown"; m_strFn = "unknown"; } CStudent(string Name, string Fn) //exp { m_strName = Name; m_strFn = Fn; } const string GetName() { return m_strName; } //accessor name const int GetGrade() //accessor grade { int iSum = 0; double dAverage = 0.0; for (int i = 0; i < (signed)m_iScores.size(); i++) iSum++; dAverage = iSum / double(m_iScores.size()); return dAverage; } void AddScore() //add score { int iMark; for (int i = 0; i < 5; i++) { cout << "Insert grade: "; cin >> iMark; m_iScores.push_back(iMark); } } friend ostream& operator <<(ostream& toStream, CStudent& obj) //output { toStream << "Student's name is " << obj.m_strName << ", with Faculty № " << obj.m_strFn << endl; return toStream; } //friend istream& operator >>(istream& fromStream, CStudent& obj) //input //{ // fromStream >> obj.m_strName >> obj.m_strFn << endl; // return fromStream; //} }; class CCourse : CStudent //2nd class { private: list<string> m_strStudent_list; string m_strCourseName; public: CCourse() { m_strCourseName = "unknown"; } //default CCourse(string CourseName) { m_strCourseName = CourseName; } //exp const string GetCourseName() { return m_strCourseName; } //accessor course name void AddScore(const string Fn, int Grade) { cout << "Faculty № " << Fn; cout << "\n Grade: "; cin >> Grade; } void AddScores(const string Fn, list<int> Grade_list, int Grade) //add a group of marks to a student { cout << "Faculty № " << Fn; cout << "\n Grade: "; for (int i = 0;i < 5;i++) { cin >> Grade; Grade_list.push_back(Grade); } } /*int displayScores(CCourse& obj) //извежда име, списък от оценки и средна оценка { cout << "Ime na studenta: " << obj.m_strname; ostream_iterator<int> out(cout, " "); cout << "Ocenki: "; copy(obj.m_iScores.begin(), obj.m_iScores.end(), out); }*/ int MakeStudent(string Fn, string Name) //add student { cout << "Student's name is: "; cin >> Name; cout << "Faculty № "; cin >> Fn; } }; int main() { CStudent student("Ivan", "61460114"); cout << student; student.GetName(); /*student.AddScore(); student.GetGrade();*/ return 0; } Не мога да направя последните две функции и мейна ще съм благодарен ако някой ми помогне
  12. petar96

    Запис във файл

    Здравейте имам тази задача и трябва да запиша елементите на списъка във файл, където да се запишат и сортираните стекове, но не знам как. Направих там да се записвам стековете, но немога списъка #include<iostream> #include <stdio.h> #include <stdlib.h> #include <memory.h> #include<fstream> #include<ctime> using namespace std; float time_sort = 0;// променлива за показване на времето за, което сортирваме //динамична структора за стек и неговия елемент typedef struct elem { int key; elem *next; } *pelem; typedef struct stack { pelem start; } *pstack; //функция за добавяне към върха в стека void push(pstack s, int n) { pelem p = s->start; s->start = (pelem)malloc(sizeof elem); s->start->key = n; s->start->next = p; } // функция за извличане на елемент от върха стека int pop(pstack s) { int n = -1; pelem p = s->start; if (p != NULL) { n = p->key; s->start = p->next; free(p); } return n; } //проверка дали стека е празен int isStackEmpty(pstack s) { return s->start == NULL; } // създаване на стек pstack create_stack() { pstack t = (pstack)malloc(sizeof stack); memset(t, 0, sizeof stack); return t; } // сортиране на стека чрез селекция void selection_sort(pstack s) { const clock_t begin = clock(); // запаметяваме началното време при стартиране на сортировката pstack ret = create_stack(); pstack temp = create_stack(); int iteration = 0; while (!isStackEmpty(s)) { // докато стигнем последния елемент в подадения стек int current = pop(s); // изваждаме и присвояваме най-горния елемент(текущ), който ще го сравним със всички останали while (!isStackEmpty(s)) { // докато стигнем последния елемент в подадения стек int n = pop(s); // вземаме най-горния елемент if (n < current) { // сравняваме го с текущия // ако е по-малък го разменяме с текущия int swap = current; current = n; n = swap; } push(temp, n); // слагаме по-големия елемент във временен стек iteration++; } push(ret, current); // добавяме най-малкото число в ret(стек) s->start = temp->start; // присвояваме началния стек на времения temp->start = NULL; // изчистваме времения стек iteration++; } s->start = ret->start;// присвояваме началния указателя на подадения стек към началния на вече сортирания стек time_sort = (float(clock() - begin) / (CLOCKS_PER_SEC)* 1000); cout << " TIme for sort mls-> " << time_sort << "Брой итерации -> " << iteration << endl; } //функция за запис на числа от файлове в два динамични стека void initStackFromFile(pstack s, pstack s2){ fstream fp; int num; //първи стек fp.open("numsToStack.txt", ios::in); //proverq dali vajlyt e otvoren pravilno if (!fp){ cout << "Can not open this file ERROR. \n"; exit(1); } //записваме числата в стека докато стигнем край на файла while (fp >> num){ if(num>25) { push(s, num);} else push(s2, num); } fp.close(); cout << "Числата са записани правилно в стековете\n"; } //тук генерираме различна последователност от числа за да проследим сортирането в различни ситуации void generate(string fileName, string fileName2) { srand((unsigned)time(0)); const int NumberElements = 1000; // бр елементи общо за двата стека (пример = 10, по 5 елемента във всеки файл) //Генериране на разбъркани числа fstream fp; int numsTostack[NumberElements]; srand(time(NULL)); for (int i = 0; i < NumberElements; i++) // обхождаме масива за да го запълним { numsTostack[i] = (rand() % 50 ) + 1; // генератор на сл. числа( диапазон на числата) } //записваме първата половина в първия файл fp.open(fileName, ios::out); for (int i = 0; i < NumberElements/2; i++) fp << numsTostack[i] << endl; fp.close(); //записваме втората половина в първия файл fp.open(fileName2, ios::out); for (int i = NumberElements/2; i < NumberElements; i++) fp << numsTostack[i] << endl; fp.close(); } //добавяме сортираните стекове във файлове void add_to_file_Sorted(pstack s, pstack s2){ fstream fp; // записваме стойностите от първия стек fp.open("Сортирана стек1.txt", ios::out); pelem p = s->start; pelem p2 = s2->start; fp <<"Стек1: "; while (p != NULL) { fp <<p->key<<" "; p = p->next;} fp<<endl; fp <<"Стек2: "; while (p2 != NULL) { fp << p2->key <<" "; p2 = p2->next; } fp.close(); } void show(pstack s){ pelem p = s->start; while (p != NULL) { cout << p->key << " "; p = p->next; } } // струкора който представлява елемент от списък typedef struct Element{ int data; Element *prev, *next; Element(const int& value) { data = value; prev = next = NULL; } }; // структора списък typedef struct List{ int size; Element *head, *tail; }; // запазваме големината на списъка в структората, така при търсене на големината му имаме сложност на алгоритъм O(1) int size(List& list) { return list.size; } //функция за добавяне към списъка void push_front(List& list, int value) { Element* element = new Element(value); element->next = list.head; if (list.size == 0) list.head = list.tail = element; else list.head = list.head->prev = element; list.size++; } //функция за първоначално инициализиране на списъка List init() { List list; list.size = 0; list.head = list.tail = NULL; return list; } //формиране на нова структура списък от двата стека void initList(List& list, pstack s1, pstack s2){ // добавяме всички елементи от първия стек (след добавянето им стека е празен) while (!isStackEmpty(s1)){ push_front(list, pop(s1)); } // за втория while (!isStackEmpty(s2)){ push_front(list, pop(s2)); } } // намираме минималния елемент кратен на подадено число int minElementInList(List& list1, int& numberFromUser){ int tempminElement = 0; Element* link = list1.head; int minElement = link->data; // за най-малък елемент избираме първия от списъка // обхождаме целия списък for (int i = 0; i < list1.size; i++){ if ((link->data % numberFromUser) == 0){ // ако елемента се дели без остатък на подадения параметър и е по-малък от най-малкия if (minElement > link->data){ minElement = link->data;// запаметяваме елемента, като най-малък } else if (minElement % numberFromUser != 0){ minElement = link->data; } } cout<<link->data<<" "; link = link->next; // указателя сочи следващия елемент от списъка } // проверка дали минималния елемент се дели без остатък, в случей, че никой елемент не е, нито по-малък от първия, нито се дели без остатък на подадения параметър if (minElement % numberFromUser == 0){ return minElement; // връшаме най-малкия } else{ // в случей че не съществува такъв елемент return 0; // връшаме нула защото знаем имаме записани само положителни числа } } // добавяме най-малкото число във файл void add_to_file_min(int minDev){ fstream fp; fp.open("Най-малкото.txt", ios::out); fp << minDev; fp.close(); } int main() { pstack s1 = create_stack(); pstack s2 = create_stack(); List list = init(); //push_front(list,1); int choice; int numberFromUserDev= 0; int minNumberDef ; system("chcp 1251"); system("cls"); //меню do{ cout << "1.Инициализиране на стековете със числа" << endl << "2.Сортиране на двата стека чрез селекция" << endl << "3.Показване на стойностите в стековете" << endl << "4.Инициализиране на списъка с елементите на двата стека" << endl << "5.Извеждане на списъка и намиране на най-малкото число кратно на число въведено от потребителя " << endl << "6.Генериране на случайни числа във файл " << endl << "7.Изход" << endl << "Въведете вашият избор -> "; cin >> choice; system("cls"); switch (choice) { case(1): initStackFromFile(s1, s2); cout << endl << endl; break; case(2): selection_sort(s1); cout << "Първата стек е сортирана "<< endl << endl; selection_sort(s2); cout << endl; cout << "Втората стек е сортирана \n"; add_to_file_Sorted(s1, s2); cout << endl << endl; break; case(3) : cout << "Първи стек" << endl; show(s1); cout << endl; cout << "Втори стек" << endl; show(s2); cout << endl << endl; break; case(4): initList(list, s1, s2); cout << "Елементите от двата стека вече са във списък!"; cout << endl << endl; break; case(5): do{ cout << "Въведете число по което да намерите най-малкия елемент в списъка, който се дели на него -> "; cin >> numberFromUserDev; cout<<"Елементите на списъка: "; } while (!numberFromUserDev); minNumberDef = minElementInList(list, numberFromUserDev); //запаметяваме резултата от функцията на променлива if (minNumberDef){ // в случей, че не намерим такова число ще получим 0 cout << endl << "Най-малкото число, което се дели на " << numberFromUserDev << " без остатък е -> " << minNumberDef << endl << endl; add_to_file_min(minNumberDef); } else{ cout << endl << "Няма число което се дели на " << numberFromUserDev << endl << endl; } break; case(6) : generate("numsToStack.txt", "numsToStack2.txt"); cout << "Успешно генерирахте числа във два файла " << endl; cout << endl; break; case(7) : cout << "Довиждане " << endl; break; default: cout << "Въвели сте невалиден избор. Моля въведете отново. " << endl << endl; break; } } while (choice != 7); system("PAUSE"); return 0; }
  13. petar96

    Въпрос за стек

    Здравейте имам един въпрос, а той е може ли стек да има връх и да се обхожда в дълбочина, защото до колкото знам обхождането в дълбочина е за граф или дърво.
  14. petar96

    Игра

    Аз съм я правил, но не ми излизат парите. Ако някой може да кажа защо
  15. petar96

    Игра

    Здравейте, не знам дали точно тука е мястото да попитам за въпроса. Той е че се мъча да направя една игра но не ми дава да напиша с колко пари почвам Ето кода #include <SDL2\SDL.h> // main.cpp // Извикване на нужните библиотеки #include <SDL2\SDL_ttf.h> #include <SDL2\SDL_mixer.h> #include <string> #include <cstring> #include <math.h> #include <iostream> #include <sstream> #include "Roulette.h" #include <cstdlib> #include <Windows.h> #include <ctime> using namespace std; #pragma comment(lib, "SDL2.lib") #pragma comment(lib, "SDLmain.lib") #pragma comment(lib, "SDL2_ttf.lib") #pragma comment(lib, "SDL2_mixer.lib") #pragma comment(lib, "SDL2_image.lib") /*const int WINDOW_WIDTH = 860; // Задаване на ширина на екрана const int WINDOW_HEIGHT = 645; // Задаване на височина на екрана const char* WINDOW_TITLE = "Roulette"; // Задаване на името на прозореца */ //------------------- //------------------- int main(int argc, char **argv) { if (!initSDL()) // Проверка дали инициализацията на SDL е извършена успешно { cerr << ("Неуспешна инициализация!\n"); //return -1; } //----- Звук ------ Mix_Music *intro; // създаване на указател за фонова музика Mix_Chunk *rollEffect; // създаване на указател за звукови ефекти intro = Mix_LoadMUS("intro.wav"); // Зареждане на звуков файл за фонова музика rollEffect = Mix_LoadWAV("RollDice.wav"); //Зареждане на звуков файл за звукови ефекти Mix_PlayMusic(intro, 20); // Пускане на фоновата музика //---------------- // Декларация на променливите ------- int start = 0; int helpScreen = 0; int sum; // Сумата от хвърлените зарове int die1; // Първи зар int die2; // Втори зар int FirstPoint; // Установена точка int gameStatus = 5; // Променлива за статуса на играта int stage = 0; // Променлива за етапа на играта int bet = 0; // Залог на играча int flagPoint = 0; // Флаг за наличие на "установена точка " int Rmoney = 50; // Парите на играча int money = Rmoney; // Парите на играча след направен залог int mute = 1; // Флаг за указващ наличието и липсата на звук int sound = 1; // Флаг показващ промяна на състоянието на звука int audio = 1; // Флаг указващ наличието/липсата на звукови ефекти int Tsum = 0; // Сумата от хвърлените зарове , използва се при наличие на // "установена точка " int fast = 10; // Променлива за по-бързо променяне на стойността на залога //---------------------------------------------- // Генератор на случайни числа (Генерира случайно число спрямо текущото време) srand((unsigned)time(0)); // Декларации за графика ------ int sourceX = 0; // Координата Х за източника на изображение int sourceY = 0; // Координата У за източника на изображение int sourceWidth = 96; // Дължина и височина на използваното изображение int sourceHeight = 96; // за зар int cordX = 330; // Координати по Х и У int cordY = 320; // за заровете int TextX = 285; // Координати по Х и У int TextY = 550; // за текста , показващ парите и залога . int ChatX = 274; // Координати по Х и У int ChatY = 23; // показващ етапа на играта //---- Стрингове които се използват за оказване кое изображение да се появи на екрана -- char *status = "Empty.bmp"; // //char *help; char *CDice1, *CDice2; //---------------------- // Частта от екрана, върху която искаме на рисуваме SDL_Rect fillImage = { 0 , 0 ,865, 645 }; // Частта от изображението, което искаме на покажем на екрана SDL_Rect SourcefillImage = { 0 , 0 ,865, 645 }; // Масива за бутоните bool keysHeld[323] = { false }; // Всичко се инициализира като лъжа // Следене на настъпилите събития SDL_Event event; SDL_PollEvent(&event); bool gameRunning = true; //Извикване на функция за изобразяване началния екран welcomeScreen(screen, window); //Изобразяване на фона SDL_Surface *backgroundImage1 = SDL_LoadBMP("Gamescreen2.bmp"); //-------------------------- // Цикъла на играта while (gameRunning) { // Входни събития if (SDL_PollEvent(&event) != 0) { if (event.type == SDL_QUIT) { gameRunning = false; } if (event.type == SDL_KEYDOWN) { keysHeld[event.key.keysym.sym] = true; } if (event.type == SDL_KEYUP) { keysHeld[event.key.keysym.sym] = false; } } // Излизане от играта при натискане на ESCAPE if (keysHeld[SDLK_ESCAPE]) { gameRunning = false; } if (keysHeld[SDLK_h]) { helpScreen = 1; draw("Help.bmp", screen, 0, 0, 195, 25, 462, 600); start = 0; SDL_UpdateWindowSurface(window); } //------------------------------------------------------ //След като играча е видял първоначалния екран с информация // за играта , се изрисува фона, и започва изпълнението на играта if (start == 0) { if (keysHeld[SDLK_SPACE]) { helpScreen = 0; SDL_BlitSurface(backgroundImage1, NULL, screen, NULL); //draw("Gamescreen.bmp", screen, 0, 0, 0, 0, 860, 645); SDL_UpdateWindowSurface(window); if (mute == 1) { draw("SoundOn.bmp", screen, 0, 0, 4, 4, 25, 25); } else { draw("SoundOff.bmp", screen, 0, 0, 4, 4, 25, 25); } start = 1; } } // Започване на изпълнението на играта else { //--------------------------------------------- //-------Спиране/Пускане на фоновата музика ------- if (keysHeld[SDLK_m]) { audio = 0; } if ((keysHeld[SDLK_m]) && sound == 1) { if (mute == 1) { // Изрисуване на изображение за липса на звук draw("SoundOff.bmp", screen, 0, 0, 4, 4, 25, 25); SDL_UpdateWindowSurface(window); Mix_PauseMusic(); // Задаване на пауза на фоновата музика mute = 0; } else { audio = 1; // Изрисуване на изображение за наличие на звук draw("SoundOn.bmp", screen, 0, 0, 4, 4, 25, 25); SDL_UpdateWindowSurface(window); Mix_ResumeMusic(); // Продължаване на изпълнението на // фоновата музика mute = 1; } sound = 0; } if (sound == 0) { delayTime(0.5); sound = 1; } //------------------------------- вярно! // Text Drawing--------------------------- //--- Изрисуване на парите и залога на играча --- draw("Down.bmp", screen, 0, 0, TextX - 200, TextY - 185, 87, 200); draw("Down.bmp", screen, 0, 0, TextX + 400, TextY - 185, 87, 200); //--- Конвертиране на целочислено в стринг -- stringstream ss; ss << money; string str = ss.str(); //-------------------- drawText(screen, // Изобразяване парите на играча ss.str().c_str(), 20, TextX - 200, TextY - 185, 255, 255, 255, 0, 0, 255); //--- Конвертиране на целочислено в стринг -- ss.str(""); // Изпразване на string strema ss.clear(); ss << bet; str = ss.str(); //-------------------- drawText(screen, // Изобразяване залога на играча ss.str().c_str(), 20, TextX + 400, TextY - 185, 255, 255, 255, 0, 0, 255); SDL_UpdateWindowSurface(window); //------------------------------- wqrno! //--- Проверка за етапа на играта if (stage == 1 || stage == 2) { if (keysHeld[SDLK_r]) // Хвърляне на заровете при натискане на R { Sleep(100); SDL_UpdateWindowSurface(window); // Обновяване на екрана rollDice(die1, die2, sum); // Извикване на функция за хвърляне на // заровете //-- Проверка дали е настъпил втория етап на играта if (stage == 2) { gameStageTwo(sum, FirstPoint, gameStatus); } // Извикване на функция // за втория етап на играта //-- Проверка дали играта е в първи етап if (stage == 1) { FirstPoint = sum; // Присвояване на сумата, при нужда се // използва във втория етап gameStageOne(stage, sum, gameStatus);// Извикване на функция // за първия етап на играта //-- Проверка дали играта ще продължи към етап две if (gameStatus == 3) { flagPoint = 1; // Флаг показващ че е настъпил втори // етап на играта Tsum = sum; } } //-- Проверка дали играчът печели if (gameStatus == 1) { status = "win.bmp"; // Указване за промяна на статуса на победа Rmoney += bet; // Обновяване на парите на играча money = Rmoney; stage = 0; // Нулиране на етапа на играта bet = 0; // Нулиране на залога gameStatus = 4; } // Промяна на статуса на играта //------------------------ //---- Проверка дали играчът губи --- else if (gameStatus == 0) { status = "lose.bmp"; // Указване за промяна изображението за // статуса на загуба Rmoney -= bet; // Обновяване на парите на играча money = Rmoney; stage = 0; // Нулиране на етапа на играта bet = 0; // Нулиране на залога gameStatus = 4; } // Промяна на статуса на играта if (audio == 1) { Mix_PlayChannel(-1, rollEffect, 0); // Изпълнение на звуков ефект, // хвърляне на зар } delayTime(2.4); // Забавяне //--- Симулиране на анимация "хвърлящи" се зарове drawAnim(screen, sourceX, sourceY, cordX, cordY - 165, sourceWidth, sourceHeight, window); //------------------- //-- Определяне на извикваните изображения за заровете ---- die1 == 1 ? CDice1 = "1.bmp" : die1 == 2 ? CDice1 = "2.bmp" : die1 == 3 ? CDice1 = "3.bmp" : die1 == 4 ? CDice1 = "4.bmp" : die1 == 5 ? CDice1 = "5.bmp" : CDice1 = "6.bmp"; die2 == 1 ? CDice2 = "1R.bmp" : die2 == 2 ? CDice2 = "2R.bmp" : die2 == 3 ? CDice2 = "3R.bmp" : die2 == 4 ? CDice2 = "4R.bmp" : die2 == 5 ? CDice2 = "5R.bmp" : CDice2 = "6R.bmp"; // -- Изобразяване на първия и втория зар --- draw(CDice1, screen, sourceX, sourceY, cordX, cordY - 165, sourceWidth, sourceHeight); draw(CDice2, screen, sourceX, sourceY, cordX + 125, cordY - 165, sourceWidth, sourceHeight); //---------------------------------------- vqrno } } SDL_UpdateWindowSurface(window); // Обновяване на екрана // Изобразяване на статуса на играта if (gameStatus == 4) { draw(status, screen, 0, 0, ChatX, ChatY, 323, 50); delayTime(0.9); SDL_UpdateWindowSurface(window); } //---- Промяна на залога --------- vqrno //--- Увеличаване на залога -- if (stage == 0 && (Rmoney >= bet)) { if (money >= fast) { if (keysHeld[SDLK_s]) // Увеличаване с 10 { money -= fast;; bet += fast; } } if (Rmoney>bet) { if (keysHeld[SDLK_a]) // Увеличаване с 1 { money--; bet++; } } //------------------------------ //------ Намаляване на залога ------- if (bet != 0) { if (bet >= fast) { if (keysHeld[SDLK_x]) // Намаляване с 10 { money += fast;; bet -= fast; } } if (keysHeld[SDLK_z]) // Намаляване с 1 { money++; bet--; } //------------------- //-------------------------------- //----- Приемане на залога----- if (keysHeld[SDLK_b]) { stage = 1; // Играта може да настъпи в първи етап } } } //--------------------------- //----- Обработка на екрана при наличие на точка ----- if (flagPoint == 1 && stage == 2) { // -- Задаване на екрана , че има "установяване на точка" status = "accpoints.bmp"; draw(status, screen, 0, 0, ChatX, ChatY, 323, 50); SDL_UpdateWindowSurface(window); delayTime(0.09); //---------------------------- //-- Задаване на екрана стойността на точката Tsum == 4 ? status = "winif4.bmp" : Tsum == 5 ? status = "winif5.bmp" : Tsum == 6 ? status = "winif6.bmp" : Tsum == 8 ? status = "winif8.bmp" : Tsum == 9 ? status = "winif9.bmp" : Tsum == 10 ? status = "winif10.bmp" : status = "empty.bmp"; flagPoint = 0; draw(status, screen, 0, 0, ChatX, ChatY, 323, 50); SDL_UpdateWindowSurface(window); delayTime(0.09); } //-------------------- //---------------------- SDL_UpdateWindowSurface(window); // Обновяване на екрана } //------- Проверка за "фалит" на играча ---- if (Rmoney == 0) { delayTime(0.04); // Извикване на функция за закъсняване gameRunning = false; // Падане на флага за изпълнение на цикъла loseScreen(screen, window); // Извикване на функция за показване на картина на // екрана, показваща че играча е фалит и играта е приключила SDL_UpdateWindowSurface(window); // Обновяване на екрана delayTime(0.02); // Забавяне на програмата } //------------------------------------ } SDL_FreeSurface(backgroundImage1); // Освобождаване на изображението от паметта Mix_FreeMusic(intro); // Освобождаване на звуковия файл от паметта Mix_FreeChunk(rollEffect); // Освобождаване на звуковия файл от паметта SDL_Quit(); return 0; } Трябва където пише Money да ми изкарва да мога да пиша https://scontent-frt3-1.xx.fbcdn.net/v/t34.0-12/15174484_1336786286346217_1071841137_n.jpg?oh=a0113e769f9ec5887018496bb82a1083&oe=58377222
  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.