Telegram Web
Live stream finished (28 minutes)
Media is too big
VIEW IN TELEGRAM
#سی_پلاس_ساده_و_خوشمزه
#پیشرفته
مدرس : محمدصالح حق محمدلو
قسمت 32 : آشنایی با اوپراتور اورلودینگ ، سربارگزاری عملگرها(الف)
🟢لطفا سوالات ، نظرات و کد های خود را برای ما کامنت کنید.
Media is too big
VIEW IN TELEGRAM
#سی_پلاس_ساده_و_خوشمزه
#پیشرفته
مدرس : محمدصالح حق محمدلو
قسمت 33: اورلود کردن عملگرهای جمع و منها به همراه مثال عملی و نکات
🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید.
💬 #چالش
🟥درجه سختی : متوسط رو به سخت
🟢لطفا سوالات, نظرات و کد های خود را برای ما کامنت کنید.
Tp hunters cpp
💬 #چالش 🟥درجه سختی : متوسط رو به سخت 🟢لطفا سوالات, نظرات و کد های خود را برای ما کامنت کنید.
🧠 #کد_چالش
حل توسط : خانم the lovely me
#include <iostream>
using namespace std;

string doubleSwap(string str, char c1, char c2);

int main()
{
string s;
char c1, c2;
cin >> s >> c1 >> c2;
cout << doubleSwap(s, c1, c2);
}

string doubleSwap(string str, char c1, char c2)
{
for (int i = 0; i < str.size(); i++)
{
if (str[i] == c1)
str[i] = c2;
else if (str[i] == c2)
str[i] = c1;
}

return str;
}
🟢لطفا سوالات, نظرات و کد های خود را برای ما کامنت کنید.
Tp hunters cpp
🧠 #کد_چالش حل توسط : خانم the lovely me #include <iostream> using namespace std; string doubleSwap(string str, char c1, char c2); int main() { string s; char c1, c2; cin >> s >> c1 >> c2; cout << doubleSwap(s, c1, c2); } string doubleSwap(string…
💬 #شرح_کد
توضیحات توسط : خانم the lovely me
تابع doubleSwap اون رشته و حروفی که میخوایم جابجا کنیم رو میگیره
تو حلقه یه پیمایش رو همه کارکترای رشته انجام میده و اگه اون کارکترایی که میخواستیم رو تو رشته پیدا کنه، اون یکی رو به جاش قرار میده
در اخر هم اون رشته تغییر یافته رو بر میگردونه
تو تابع مین رشته و کاراکترا رو از کاربر میگیریم و تابع doubleSwap رو صدا میزنیم و نتیجه که همون رشته برگردونده شده هست رو چاپ میکنیم
🟢لطفا سوالات,نظرات و کد های خود را برای ما کامنت کنید.
Media is too big
VIEW IN TELEGRAM
#سی_پلاس_ساده_و_خوشمزه
#پیشرفته
مدرس : محمدصالح حق محمدلو
قسمت 34 : سربارگذاری جریان ورودی و خروجی istream و ostream ، تکلیف هم حتما انجام شود 😃
🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید.
💬 #چالش
🟥درجه سختی : متوسط رو به سخت(البته بنظر من که خیلی راحته و میتونید حلش کنید😆)
🟢لطفا سوالات , نظرات و کد های خود را برای ما کامنت کنید.
Tp hunters cpp
💬 #چالش 🟥درجه سختی : متوسط رو به سخت(البته بنظر من که خیلی راحته و میتونید حلش کنید😆) 🟢لطفا سوالات , نظرات و کد های خود را برای ما کامنت کنید.
🧠 #کد_چالش
حل توسط : alireza zera
#include <iostream>
#include <string>
#include <regex>
using namespace std;

bool isValidHexCode(string input);

int main() {
string str;
cin >> str;
cout << isValidHexCode(str);
}

bool isValidHexCode(string input) {
return regex_search(input, regex("^#[a-fA-f0-9]{6}$"));
}

🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید.
Tp hunters cpp
🧠 #کد_چالش حل توسط : alireza zera #include <iostream> #include <string> #include <regex> using namespace std; bool isValidHexCode(string input); int main() { string str; cin >> str; cout << isValidHexCode(str); } bool isValidHexCode(string input)…
💬 #شرح_کد
توضیحات توسط : alireza zera
لایبرری regex چنتا فانکشن داره اینجا من از فانکشن regex_search استفاده کردم که دوتا پارامتر میگیره:
پارامتر اول string ورودی هستش
پارامتر دوم regex (اینجا من مستقیم از خروجی یه فانکشن دیگه استفاده کردم که میتونید خروجی اون فانکشن رو توی یه string دیگه قرار بدید و اون string رو به عنوان پارامتر دوم تابع بدید)
که این فانکشن میاد string ورودی رو با regex مقایسه میکنه و اگر از regex تبعیت کرد true رو برمیگردونه و در غیر این صورت false
در کل regex داستانش مفصله ولی اینجا regex ای که استفاده کردم رو توضیح میدم:
^#[a-fA-F0-9]{6}$
علامت ^ و $ شروع و پایان یه string رو مشخص میکنه
# مشخص میکنه که توی عبارت مورد نطر ما کاراکتر # باید وجود داشته باشه و اولین باشه

[a-fA-F0-9]
مشخص میکنه که عبارات مورد نظر ما از a تا f و A تا F و از 0 تا 9 هستش (بزرگ و کوچک مهمه) و این که رقم های اعداد بر مبنای hex از 0 تا 9 و از A تا F هستن و {6}
مشخص میکنه که string مورد نظر ما به طول ۶ هست
در ضمن ترتیب توی regex خیلی مهمه.
🟢لطفا، سوالات نظرات و کد های خودرا برای ما کامنت کنید.
Media is too big
VIEW IN TELEGRAM
#سی_پلاس_ساده_و_خوشمزه
#پیشرفته
مدرس : محمدصالح حق محمدلو
قسمت 35 : پیاده سازی یک پروژه کامل و دوره ای بر اعداد مختلط، سربارگذاری جریان ورودی و خروجی و overload کردن چند عملگر دیگر
(آخرین قسمت آموزش های کُلی)
🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید.
درود خدمت همه دوستان امیدوارم خوب باشید😄👌,
اول از همه ممنون که این همه مدت کنار ما بودید و همراهیمون کردید. 😎
دوم اینکه آموزش های ترمیک سی پلاس پلاس ما تموم شد به صورت کامل و با پروژه ها و جزییات و تمرین ها و...
برای دیدن کامل آموزش ما میتوانید #سی_پلاس_ساده_و_خوشمزه را داخل چنل سرچ بزنید و همچنین برای دیدن قسمت پیشرفته یا همان برنامه سازی و شی گرایی میتوانید #پیشرفته را سرچ بزنید.
از این لحظه به بعد آموزش های چنل به سمت کاملا کاربردی و صنعت پیش خواهد رفت. به زودی یک رای گیری برای شروع آموزش جدید قرار میدهم. لطفا آموزش های پیشنهادی و مد نظر خود را کامنت کنید.
امیدوارم با حمایت ها و دلگرمیتون از ما حمایت کنید.🌹
مدیر مجموعه تیپی هانترز : محمدصالح حق محمدلو
💬 #چالش
بنظرتون carbon توانایی داره جای cpp رو بگیره؟ نظراتتون رو کامنت کنید
💬 #چالش
🟥درجه سختی : متوسط
🟢لطفا سوالات , نظرات و کد های خود را برای ما کامنت کنید.
Tp hunters cpp
💬 #چالش 🟥درجه سختی : متوسط 🟢لطفا سوالات , نظرات و کد های خود را برای ما کامنت کنید.
🧠 #کد_چالش
حل توسط : چند نفر از دوستان, اما ساده و بهترین کد کد زیر میباشد.
// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;

// Function to return the count of
// valid indices pairs
int countPairs(string s1, int n1, string s2, int n2)
{

// To store the frequencies of characters
// of string s1 and s2
int freq1[26] = { 0 };
int freq2[26] = { 0 };

// To store the count of valid pairs
int i, count = 0;

// Update the frequencies of
// the characters of string s1
for (i = 0; i < n1; i++)
freq1[s1[i] - 'a']++;

// Update the frequencies of
// the characters of string s2
for (i = 0; i < n2; i++)
freq2[s2[i] - 'a']++;

// Find the count of valid pairs
for (i = 0; i < 26; i++)
count += (min(freq1[i], freq2[i]));

return count;
}

// Driver code
int main()
{
string s1 = "geeksforgeeks", s2 = "platformforgeeks";
int n1 = s1.length(), n2 = s2.length();
cout << countPairs(s1, n1, s2, n2);

return 0;
}
🟢لطفا سوالات, نظرات و کد های خود را برای ما کامنت کنید.
Tp hunters cpp
🧠 #کد_چالش حل توسط : چند نفر از دوستان, اما ساده و بهترین کد کد زیر میباشد. // C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Function to return the count of // valid indices pairs int countPairs(string s1, int n1, string…
💬 #شرح_چالش
توضیحات : محمدصالح حق محمدلو

ما درواقع دوتا رشته داریم که میخوایم تمام کارکتر های مشترک بین اون دوتارو بشمریم. یعنی باید
s1[i] = s2[j]
برقرار باشه
درابتدا ما میایم فرکانس(اشتراک/فراوانی) تمام کارکتر های هر دو رشته رو میشمریم.
حالا برای تمام کارکتر ها اگر فرکانس(اشتراک/فراوانی) این کارکتر در رشته s1 برابر با freq1 و در رشته s2 برابر با freq2 باشد، نتیجه مجموع زوج های مشترک در نتیجه تابع
min(freq1,freq2)
قرار میگیرد.
حال مجموع این مقدار برای همه کارکتر ها جواب مورد نظر ماست.
این یک تابع خطی از نظر مرتبه زمانی bigO میباشد و یک تابع بهینه است👌

🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید.
Forwarded from Tp carbon language (No Name!)
چرا کربن ساخته شد؟
زبان سی پلاس پلاس همچنان یک زبان حیاتی و غالب برای نرم افزار های پرفورمنس محور ، با پایگاه های کد زیاد و سرمایه گذاری های زیاد و رو به رشد است. با این حال برای بهبود و برطرف کردن نیاز های توسعه دهندگان در تلاش است،اما همانطور که در بالاتر گفتیم در بخش کوچکی به دلیل سالها مشکلات فنی به مشکل خورده است.
بهبود کردن و آپدیت کردن سی پلاس پلاس بسیار دشوار است، هم به دلیل مشکلات فنی و هم به دلیل چالش هایی که در فرایند تکامل آن وجود دارد.
بهترین راه برای رسیدگی به این مشکل جلوگیری از ارث بری مستقیم C به ++C است! و در عوض باید از زبانی که با پایه های قوی و محکم و یک سیستم مدرن و سازماندهی کد ماژولار و سینتکسی ساده است استفاده کرد.
کربن از دیدگاه بنیادی یک زبان جایگزینی برای سی پلاس پلاس میباشد، به جای تلاش برای تکامل تدریجی سی پلاس پلاس! این زبان قابلیت همکاری و ترکیب با cpp و همچنین پذیرش و مهاجرت در مقیاس بزرگ برای پایگاه های کد و توسعه دهندگان موجود‌ در cpp طراحی شده است. زبان جایگزین برای ++C باید ویژگی های زیر را داشته باشد:
⬅️پرفورمنس و انرژی نزدیک با سی پلاس پلاس
⬅️قابلیت همکاری یکپارچه و دوجهته با سی پلاس پلاس
⬅️یادگیری آسان
⬅️قابل مقایسه و چندسکویی
⬅️مهاجرت مقیاس پذیر از زبانی به زبانی دیگر
چند زبان وجود دارند که از این مدل برای ساخت اکوسیستم ها استفاده کرده اند و کربن نقش دارد نقش مشابهی را در اکوسیستم سی پلاس پلاس ایفا کند.
Javascript -> Typescript
Java -> Kotlin
C++ -> Carbon
🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید.
@carbon_google
#نکته
فرض کنید میخواید یک رشته رو از کلاس String توی پارامتر های تابعتون استفاده کنید به این شکل.
void func(string firstName)

به دلیل اینکه نوع string درواقع یک کلاس هست و ما ارسال با مقدار داریم باعث میشه یک کپی از پارامتر ایجاد بشه! و چون string یک کلاس سنگینیه این کار اصلا درست و به صرفه نیست چون وقتی تابع صدا میشه یک کپی از اون پارامتر ایجاد میشه.
حالا برای اینکه این اتفاق نیفته ما اون رو با مرجع یا Refference میفرستیم به شکل زیر(اگر پارامتر const باشه هم که دیگه عالیه😎)
void func(string &firstName)

حالا دیگه کپی ایجاد نمیشه. سعی کنید کلاس هاتون رو توی پارامتر تابع تا جایی که ممکنه با const refference ارسال کنید.
🟢لطفا سوالات , نظرات و کد های خود را برای ما ارسال کنید.
💬 #چالش
🟥درجه سختی: آسان ( به زبان دلخواه خود حل کنید)
🟢لطفا سوالات, نظرات و کد های خود را برای ما کامنت کنید.
2025/07/05 01:23:59
Back to Top
HTML Embed Code: