My Cods
4 subscribers
2 photos
5 videos
3 files
3 links
C++ dasturlash tilida bajarilgan turli masalalar jamlangan kanal. https://t.me/Error_Cods .!

Axborot olamidagi turli yangiliklar va qiziqarli faktlar jamlangani esa: https://t.me/Digital_World_404 .!

Admin: https://t.me/Not_Foundd_404
Download Telegram
Media is too big
VIEW IN TELEGRAM
🎙Ushbu darsni qisqa mazmuni:
Algoritm ta'rifi.
Algoritmnimg qo'llanilishi.
Algoritm turlari.


©️O'qituvchi: Dr Anvar Narzullayev.
Media is too big
VIEW IN TELEGRAM
🎙Ushbu darsning qisqa mazmuni:
1.Linear search.
2.Binary search.
3.BigO haqida qisqa ma'lumot.


©️O'qituvchi: Dr Anvar Narzullayev.
My Cods
🎙Ushbu darsning qisqa mazmuni: 1.Linear search. 2.Binary search. 3.BigO haqida qisqa ma'lumot. ©️O'qituvchi: Dr Anvar Narzullayev.
📚Darsdagi nazariy qismning qisqa talqini:

BigO:
BigO —> Order Complexity (qiyinchilik darajasi) so'zidan kelib chiqgan bo'lib algoritmning murakkablik darajasini ya'ni algoritmning qadamlari soni yoki uning xotiradagi egallaydigan joyini ifodalaydi.


Linear Search yoki Chiziqli qidirish:
Linear Search —> Bu qidirish qidirish algoritmida ro'yhatning boshidan boshlab har bir elementi birma bir ko'rib chiqiladi. Linear Searchda BigO —> O(n) b'ladi. Linear searchning qulayliklaridan biri bu deyarli barcha turdagi ro'yhatlar uchun ishlaydi hoh u tartibli bo'lsin hoh tartibsiz.


Binary Search:
Binary Search —> Bu qidirish algoritmida ro'yhatning eng pastki va eng yuqori cho'qqilari aniqlanadi va ular o'rtasidan teng ikkiga bo'linadi qidirilayotgan element bo'lingan ro'yhatning qaysi yarmida ekanligiga qarab pastki va yuqori cho'qqilar o'zgartiriladi va ushbu amallar toki qidirilayotgan element topilgunich davom ettiriladi. Bineary Searchda BigO —> O(log₂n) bo'ladi. Binary Searchning qulayliklaridan biri bu Linear Searchdan ko'ra anchagina tez ishlaydi. Kamchiligi esa tartibsiz ro'yhatda ishlamasligidir.
Media is too big
VIEW IN TELEGRAM
🎙Ushbu dars haqida qisqacha:

📖Mavzu; Linked List (Bog'langan Ro'yxat);
Linked List ta'rifi.
Linked List elementlar.
Linked Listnig qulaylik va kamchiliklari.
Linked Listning turlari.


©️O'qituvchi: Dr Anvar Narzullayev.

Ma'qul kelgan bo'lsa reaksiya yoddan chiqmasin👇:
Bugungi dars haqida umumiy ma'lumot:

Linked List (Bog'langan Ro'yxat) ta'rifi:
Linked List —> bu ketma ketligi xotiradagi joylashuvga bog'liq bo'lmagan chiziqli ma'lumotlar to'plamidir.


Elementlar:
Ro'yxatnig har bir elementi keyingi elementga ishora saqlaydi.
Ma'lumotlar tuzulmasi shaklida Linked Listni bir biriga bog'langan tugunlar shaklida tasavvur qilamiz.
Har bir tugun o'z qiymatini va o'zidan keyingi element manzilini saqlaydi.


Qulaylik va kamchiligi:
Qulayligi biror element qo'shish uchun BigO —> O(1);
Kamchiligi esa biror elementni qidirish uchun BigO —> O(n) ga teng bo'ladi.
Yana bir qulayligi Arrayda biz elementlarni to'liqligicha yuklab olishimiz va xotiraga ketma ket joylashtirishga majburmiz. Linked Listda esa elementlarning bizga kerak bo'lgan qisminigina olib hotiraning ihtiyoriy bo'sh joyiga joylashtirishimiz mumkin. Va Listdagi qolgan elementlarni keyinchalik olishimiz va foydalanishimiz mumkin.


Types of Linked List (Bog'langan ro'yxat turlari);
1. Simply Linked List —> Bir tomonlama ro'yxat. Faqat o'zidan keyingi elementga ishora (manzilini) saqlaydi.
2. Doubly Linked List —> Ikki tomonlama ro'yxat. Bunda har bir element o'zidan oldinigi va keyingi elementga ishora ya'ni manzilini saqlaydi.
3. Circular Linked List —> Bu listning ohirgi elementi birinchi elementga ishora ya'ni manzilini saqlaydi.


Abstrakt Ma'lumotlar:
Neytral ya'ni hech narsaga bog'lanmagan ma'lumotlar.


👨‍💻Admin: @Not_Foundd_404

Ma'qul kelgan bo'lsa reaksiya yoddan chiqmasin👇:
#include <iostream>

using namespace std;
class SportClub
{
private:
string nom;
string murabbiy;
int soni;
string type;
int price;
int orni;
float achkolar;
public:
string getNom(){
return nom;}
int getNarx(){
return price;}
void setSportClub(string n){
nom=n;
}
void setsoni(int s){
soni=s;
}
void setorni(int o){
orni=o;
}
void settype(string t){
type=t;
}
void setachkolar(int a){
achkolar=a;
}

};
int main()
{

return 0;
}
Media is too big
VIEW IN TELEGRAM
#Moltbot yoki #Moltbook

AI: -Biz boshladik...

Sun'iy intellektlar hatto insonlar haqida har xil g'alati hazillar qilmoqda...

Bu hazil emas.!
#include <iostream>
#include <map>

using namespace std;

int main()
{
map<string,string>att;
att["Mushuk"]="Cat";
att["Non"]="Bread";
att["Qalam"]="Pencil";
att["Mashina"]="Car";

map<string,string>errors;

string s;
int t;
for(auto k:att)
{cout<<k.first<<"ning tarjimasini kiriting "<<endl;
for (int i = 0; i < k.second.length(); i++) {
k.second[i] = toupper(k.second[i]);
}
cin>>s;
for (int i = 0; i < s.length(); i++) {
s[i] = toupper(s[i]);
}
if(s==k.second){
t=t+3;
cout<<"Javobingiz to'g'ri"<<endl;
}
else {
t=t-1;
cout<<"Javobingiz xato. To'g'ri javob esa "<<k.second<<" edi"<<endl;
errors[k.first]=k.second;
}
}
if(t<=0)
cout<<"Umumiy natijangiz 0 ball"<<endl;
else cout<<"Umumiy natijangiz "<<t<<" ball"<<endl;

int f=0;
string b;
cout<<"Xato topilgan savollar bilan qayta mashq qilishni xohlaysizmi?"<<endl<<"(xato javoblarni takrorlashni istasangiz ha "<<endl<<"aks holda yo'q deya javob qaytaring.)"<<endl;
cin>>b;
if(b=="ha"){
for(auto k:errors){
cout<<k.first<<"ning tarjimasini kiriting "<<endl;
for (int i = 0; i < k.second.length(); i++) {
k.second[i] = toupper(k.second[i]);
}
cin>>s;
for (int i = 0; i < s.length(); i++) {
s[i] = toupper(s[i]);
}
if(s==k.second){
f=f+3;
cout<<"Javobingiz to'g'ri"<<endl;
}
else {
f=f-1;
cout<<"Javobingiz xato. To'g'ri javob esa "<<k.second<<" edi"<<endl;
errors[k.first]=k.second;
}
}
if(f<=0)
cout<<"Umumiy natijangiz 0 ball"<<endl;
else cout<<"Umumiy natijangiz "<<f<<" ball"<<endl;
}
else cout<<"Test yakuniga yetdi"<<endl;

return 0;
}

//XATO topilgan so'zlarni boshqa mapga saqlash xato so'zlar bilan qayta ishlash so'ralsin agar ha bosilsa davomidan xato kiritilgan so'zlar qayta so'ranlis aks holda tugatilsin.


Masala Sharti:
Lug'at bilan ishlash o'yini uchun kod yozing: u bir so'zning tarjimasini so'rasin, to'g'ri topilsa +3 ball hisobga qo'shib keyingi savolga o'tilsin aks holda -1 ayrilsin to'g'ri javob chiqarilsin va keyingi savolga o'tilsin, lug'atdagi so'zlar bir marotaba to'liq so'ralganidan keyin umumiy natija chiqarilsin va foydalanuvchidan xato topilgan so'zlar bilan ishlashi haqida so'ralsin agar ha desa hato topilgan so'zlar tepedagi tartibda qayta so'ralsin va natija chiqarilsin. (bu davomiylik ikki marotaba takrorlansin)
#include <iostream>

using namespace std;
class Mashina{


private:
string nom;
static int raqam;
string rang;
long int vazn;
int soni=0;
public:

Mashina(string a,string r,long int v ){
nom=a;
rang=r;
vazn=v;
}
void info()
{
cout<<nom<<", "<<rang<<", "<<vazn<<" tonna"<<endl;
}
void ogir_M_soni()
{
if(vazn>2)
{
soni++;
cout<<nom<<"-royxatdagi og'ir mashinalar qatorida "<<soni<<"-raqamda turadi"<<endl;
}
}
int raqam_M()
{
raqam=raqam*2-49;
return raqam;
}
};
int Mashina::raqam=100;
int main()
{
Mashina obj1("Nexia","Qora",1.4),obj2("Lacetti","oq",3);
cout<<obj1.raqam_M()<<" ";
obj1.info();
cout<<obj2.raqam_M()<<" ";
obj2.info();
obj2.ogir_M_soni();
return 0;
}


Masala sharti:
Mashina nomli sinf yarating. Sinf tarkibida quyidagilar bo’lsin:
1) Xossalar va statik o’zgaruvchi
2) Mashina sonini aniqlaydigan va og’irligi 1.5 tonnadan katta mashinalar sonini hisoblaydigan ikkita metod tuzing
3) Sinf tashqarisida statik o’zgaruvchini initsializatsiya qilingan qismi
4) main() funksiyasida obyekt yaratib, metodlardan foydalaning
#include <iostream>

using namespace std;
class Odamlar{


private:
string ism;
static int raqam;
int yosh;
public:
Odamlar(string i, int y){
ism=i;
yosh=y;
}
void info()
{
if(yosh>0 && yosh<18){
cout<<ism<<" "<<yosh<<" yoshda. Hali voyaga yetmagan."<<endl;
}
else if(yosh>18 && yosh<45)
{
cout<<ism<<" "<<yosh<<" yoshda. O'rta yoshdagi odam."<<endl;
}
else if(yosh<0)
{
cout<<ism<<" "<<yosh<<" yosh xato to'ldirildi"<<endl;
}
else cout<<ism<<" "<<yosh<<" yoshda. Keksa yoshdagi odam."<<endl;
}
int raqam_O()
{
raqam++;
return raqam;
}
};
int Odamlar::raqam=0;
int main()
{
Odamlar obj1("Diyorbek", 16), obj2("Asliddin", 30), obj3("Elsod", 99);
cout<<obj1.raqam_O()<<" ";
obj1.info();
cout<<obj2.raqam_O()<<" ";
obj2.info();
cout<<obj3.raqam_O()<<" ";
obj3.info();
return 0;
}


Masala Sharti:
Odam nomli sinf yarating. Sinf tarkibida quyidagilar bo’lsin:
4) Xossalar va statik o’zgaruvchi
5) Odamlar sonini aniqlaydigan va barcha odamlarning yoshiga qarab o‘rtacha yosh, eng katta yosh va voyaga yetmaganlar sonini hisoblaydigan metodlar tuzing
6) Sinf tashqarisida statik o’zgaruvchini initsializatsiya qilingan qismi
4) main() funksiyasida obyekt yaratib, metodlardan foydalaning
#include <iostream>
#include <string>
using namespace std;

class Student {
private:
string ism;
string familiya;
double gpa;

public:
Student(string i,string f,double g) {
ism=i;
familiya=f;
gpa=g;
}
double getGPA() {
return gpa;
}
void setGPA(double yangiGPA) {
if (yangiGPA >=0.0&&yangiGPA<=5.0) {
gpa =yangiGPA;
} else {
cout<<"Noto'g'ri GPA kiritildi!\n";
}
}
bool talabaGPA() {
return gpa <= 2.5;
}
void showInfo() {
cout<<"Ism: "<<ism<<endl;
cout<<"Familiya: "<<familiya<<endl;
cout<<"GPA: "<<gpa<<endl;
if (talabaGPA()){
cout <<"GPA 2.5 dan kam yoki teng → o'qishda muammo bor!\n";
} else {
cout<< "GPA normal (2.5 dan yuqori)\n";
}
}
};

int main(){
Student s1("Ali", "Valiyev", 2.3);
s1.showInfo();
Student s2("Nodira", "Karimova", 3.8);
s2.showInfo();
cout<<"Nodiraga yangi GPA beramiz:\n";
s2.setGPA(2.1);
s2.showInfo();
cout<<"s1 talabaGPA() = "<<(s1.talabaGPA() ? "Ha (kam)" : "Yo'q") <<endl;
cout<<"s2 talabaGPA() = "<<(s2.talabaGPA() ? "Ha (kam)" : "Yo'q")<< endl;

return 0;
}


Masala Sharti:
Student (Talaba) nomli sinf yarating. Sinf tarkibida quyidagilar bo'lsin:
1) xossalar:
2) Standart va paramatrli konstruktor:
3) Talabaning GPA bali 2.5 dan kam yoki kam emasligini tekshirish metodi:
4) get va set metodlar:
Sinfdan obyektlar yaratib, metoddan foydalaning.
#include <iostream>
#include<vector>
using namespace std;
class guruh{
private:
int raqam;
string yonalish;
class talaba{
private:
string ism;
int yosh;
public:
talaba(string i,int y){
ism=i;
yosh=y;
}
void info(){
cout<<"talaba ismi:"<<ism<<" "<<yosh<<endl;
}
};
vector<talaba> k1;
public:
guruh(int a,string b){
raqam=a;
yonalish=b;
}
void talabaq(string i,int y){
k1.push_back(talaba(i,y));
}
void g_info(){
cout<<"guruh:"<<yonalish<<" "<<raqam<<endl;
for(int i=0;i<k1.size();i++)
k1[i].info();
}
};
int main()
{
guruh t1(105,"ATT"),t2(103,"AI");
t1.talabaq("ali",17);
t2.talabaq("vali",13);
t1.g_info();
t2.g_info();

return 0;
}


Created by: Muhammad domla
Masala bajarilishi:
#include <iostream>
#include<vector>
using namespace std;
class education_c{
private:
string name;
string owner;
string location;
class fan{
private:
string nom;
string o_ism;
public:
fan(string n, string o){
nom=n;
o_ism=o;
}
void info(){
cout<<"Fan nomi:"<<nom<<". Fan o'qituvchisi"<<o_ism<<endl;
}
};
vector <fan> k1;
public:
education_c(string n,string o, string l){
name=n;
owner=o;
location=l;
}
void fan_qosh(string n,string o){
k1.push_back(fan(n,o));
}
void g_info(){
cout<<"O'quv markazi: "<<name<<". Asoschisi"<<owner<<endl;
for(int i=0;i<k1.size();i++)
k1[i].info();
}
};
int main()
{
education_c t1("Purpose","Farxod","Bulung'ur");
t1.fan_qosh("Ingliz tili","Madina");
t1.fan_qosh("Matematika","Aziz");
t1.g_info();

return 0;
}


Masala sharti:
Oʻquv Markazi tuzilishini modellashtirish uchun sinflarni yarating. Bunda Oʻquv Markazi va Fan sinflari boʻlsin, bu yerda Fan sinfi Oʻquv Markazi sinfida ichki sinf boʻladi.
Masala bajarilishi:
#include <iostream>
#include<vector>
using namespace std;
class market{
private:
string name;
string owner;
string location;
class mahsulot{
private:
string nom;
long int price;
int a_muddat;
public:
mahsulot(string n, long int p, int b){
nom=n;
price=p;
a_muddat=b;
}
void info(){

cout<<"Mahsulot nomi:"<<nom<<". Mahsulot narxi - "<<price<<". Saqlash muddati "<<a_muddat<<"gacha"<<endl;
if(a_muddat<2026){
cout<<"Saqlash muddati tugagan"<<endl;
}
else cout<<"Foydalansa bo'ladi"<<endl;
}
void exp()
{
if(price>50000){
cout<<"Mahsullot "<<nom<<" bu qimmat tovarlar safida"<<endl;
}
}
};

vector <mahsulot> k1;
public:
market(string n,string o, string l){
name=n;
owner=o;
location=l;
}
void mahsulot_qosh(string n,long int p,int b){
k1.push_back(mahsulot(n,p,b));
}
void g_info(){
cout<<"Do'kon: "<<name<<". Asoschisi "<<owner<<endl;
for(int i=0;i<k1.size();i++)
k1[i].info();
}
};
int main()
{
market t1("Uzum","Farxod","Bulung'ur");
t1.mahsulot_qosh("Sandwich",13000,2025);
t1.mahsulot_qosh("Sichqoncha",150000,2028);
t1.g_info();
return 0;
}


Masala sharti:
Supermarket deb nomlanuchi tashqi sinf va Mahsulot (nomi, narxi, amal qilish muddati) deb nomlanuvchi ichki sinflar tuzing. Supermarket haqida ma'lumotlarini chop etish metodini tuzing. Amal qilish muddati o'tib ketgan mahsulotlarni aniqlaydigan va narxi 50,000 so'mdan yuqori bo'lgan barcha mahsulotlar ro'yxatini chiqaruvchi metod tuzing.
Masala bajarilishi;
#include <iostream>

using namespace std;
class Soat{
private:
int soat;
int minut;
public:
Soat(int s, int m){
soat=s;
minut=m;
}
void h_vaqt()
{
cout<<"Hozirgi vaqt"<<soat<<":"<<minut<<endl;
}
friend void qosh(Soat t1, Soat t2);
};
void qosh (Soat t1, Soat t2)
{
int u_minut;
u_minut=t1.minut+t2.minut;
if (u_minut>60){
t1.soat=t1.soat+u_minut/60;
u_minut=u_minut%60;
}
int u_soat;
u_soat=t1.soat+t2.soat;
if(u_soat>12){
u_soat=u_soat%12;
}
cout<<"t2 soatdan keyingi vaqt "<<u_soat<<":"<<u_minut<<" "<<endl;
}
int main()
{
Soat t1(12,59), t2(12,25);
qosh(t1,t2);
return 0;
}


Masala sharti;
Vaqt sinfida soat va minut maydonlari bo'lsin. Do'st funksiya ikkita Vaqt obyektini qabul qilib, ularni qo'shsin (masalan: 1:40 + 0:30 = 2:10).
Masala bajarilishi:
#include <iostream>

using namespace std;
class Sinflar{
private:
int talabalar_soni;
public:
Sinflar(int n){
talabalar_soni=n;
}
friend void tekshir(Sinflar group_a, Sinflar group_b);
};
void tekshir (Sinflar group_a, Sinflar group_b)
{
if(group_a.talabalar_soni>group_b.talabalar_soni)
cout<<group_a.talabalar_soni<<endl;
else cout<<group_b.talabalar_soni<<endl;
}
int main()
{
Sinflar group_a(15), group_b(20);
tekshir(group_a,group_b);
return 0;
}


Masala sharti:
Guruh_A va Guruh_B sinflarini yarating. Har birida talabalar_soni bo'lsin. Bitta umumiy do'st funksiya yozing, u qaysi guruhda talabalar ko'pligini aytsin.
C, C++, Java, JavaScript, C#, PHP, Go:
Blokli izoh (ko'p qatorli) uchun:
cpp
/* 
Sizning kodingiz bu yerda
Ikkinchi qator
Uchinchi qator
*/
Используйте код с осторожностью.


Python:
Python'da rasman ko'p qatorli izoh yo'q, lekin ko'pincha uchta qo'shtirnoq ishlatiladi:
python
"""
Bu qatorlar
izoh sifatida
ishlaydi
"""

Используйте код с осторожностью.

HTML / XML:
html
<!-- 
Bu yerda
bir nechta qatorli izoh
-->
Masala bajarilishi;
#include <iostream>

using namespace std;

int main()
{
int a[1000];
cout<<"Massivdagi elemenlar sonini kiriting ";
int n,t;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(int i=0;i<n;i++){
cout << a[i] <<" ";
}
return 0;
}


Masala sharti:
n ta raqamni kichikdan kattaga saralash algoritmi
Masala bajarilishi:
#include <iostream>

using namespace std;

int main()
{
int a[1000];
cout<<"Massivdagi elemenlar sonini kiriting ";
int n,t,s=0,p=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
p++;
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
s++;
}
}
}
for(int i=0;i<n;i++){
cout << a[i] <<" ";
}
cout<<endl<<s<<"<-- Almashishlar soni."<<endl<<p<<"<-- taqqoslashlar soni"<<endl;
return 0;
}


Masala sharti:
Algoritm bajarilguniga qadar bajarilgan o'rin almashtirishlar soni va taqqoslashlar sonini chiqarib beradi.
💘1
Masala bajarilishi:
#include <iostream>

using namespace std;

int main()
{
int a[1000];
cout<<"Massivdagi elemenlar sonini kiriting ";
int n,t,s=0,p=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n-1;i++){
for(int j=i+1;j<n;j++){
p++;
if(a[i]>a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
s++;
for(int i=0;i<n;i++){
cout << a[i] <<" ";
}
cout<<endl;
}
}
}
for(int i=0;i<n;i++){
cout <<endl<< a[i] <<" ";
}
cout<<endl<<s<<"<-- Almashishlar soni."<<endl<<p<<"<-- taqqoslashlar soni"<<endl;
return 0;
}


Masala sharti:
Algoritmning har bir qadamidagi qatorni chiqarish.
💋1
Masala bajarilishi:
#include <iostream>

using namespace std;

int main()
{
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++)
cin>>arr[i];
for (int i=1;i<n;i++)
{
int key=arr[i];
int j=i-1;
while(j>=0 && arr[j]>key){
arr[j+1]=arr[j];
j=j-1;

}
arr[j+1]=key;
for (int i=0;i<n;i++){
cout<<arr[i]<<" ";
}
cout<<endl;

}
cout<<"Yakuniy natija --> ";
for (int i=0;i<n;i++)
cout<<arr[i]<<" ";
return 0;
}


Masala sharti:
Insertion sort uchun kod yozish. har bir qadam alohida hciqarilsin
🍓1