$lang['tuto'] = "பயிற்சிகள்"; ?>$lang['tuto'] = "பயிற்சிகள்"; ?> C++ இல் DST மாற்றங்களின்

C++ இல் DST மாற்றங்களின் போது நேர ஒத்திசைவுச் சிக்கல்களைத் தீர்ப்பது

Temp mail SuperHeros
C++ இல் DST மாற்றங்களின் போது நேர ஒத்திசைவுச் சிக்கல்களைத் தீர்ப்பது
C++ இல் DST மாற்றங்களின் போது நேர ஒத்திசைவுச் சிக்கல்களைத் தீர்ப்பது

கணினிகளுக்கு இடையேயான நேர ஒத்திசைவு சவால்களைப் புரிந்துகொள்வது

ஒன்றோடொன்று இணைக்கப்பட்ட அமைப்புகளுக்கு இடையே நேர ஒத்திசைவு ஒரு முக்கியமான பணியாகும், குறிப்பாக துல்லியமான நேரம் தேவைப்படும் பயன்பாடுகளில். ஒரு அமைப்பு UTC நேரத்தை உள்ளூர் நேரத்திற்கு மாற்றுவதற்கு மற்றொரு முறைக்கு அனுப்பும் சூழ்நிலைகளில், சிறிய முரண்பாடுகள் கூட குறிப்பிடத்தக்க சிக்கல்களுக்கு வழிவகுக்கும். 🌐

எடுத்துக்காட்டாக, சிஸ்டம் ஏ யுடிசி நேரத்தை சிஸ்டம் பிக்கு அனுப்பலாம், இது விண்டோஸ் ஏபிஐயைப் பயன்படுத்தி அதன் உள்ளூர் நேரத்தை அமைக்கிறது. சிஸ்டம் பி பின்னர் உள்ளூர் நேரம் மற்றும் நேர மண்டல சார்புகளை சரிபார்ப்பதற்காக சிஸ்டம் ஏ க்குக் கணக்கிட்டு அனுப்புகிறது. இந்த பணிப்பாய்வு நேரம் நிலைத்தன்மையை உறுதி செய்கிறது, ஆனால் பகல் சேமிப்பு நேரம் (DST) போன்ற மாற்றங்களின் போது சிக்கல்கள் எழுகின்றன. ⏰

DST மாற்றங்களின் போது உள்ள தெளிவின்மை, குறிப்பாக 1 AM முதல் 2 AM மணி வரை மேலெழுதல், ஒரு தனித்துவமான சவாலை அளிக்கிறது. இந்த காலகட்டத்தில் தவறான நேரமண்டல சார்பு கணக்கீடுகள் ஒத்திசைவு தோல்விகளை விளைவிக்கலாம், மறு முயற்சிகள் அல்லது தரவு பிழைகள் ஏற்படலாம். இத்தகைய சிக்கல்கள் தடையற்ற கணினி செயல்பாட்டை உறுதிப்படுத்த வலுவான கையாளுதலைக் கோருகின்றன.

நடைமுறை குறியீடு எடுத்துக்காட்டுகள் மற்றும் நுண்ணறிவுகளுடன் C++ இல் இந்த எட்ஜ் கேஸ்களை எவ்வாறு நிர்வகிப்பது என்பதை இந்தக் கட்டுரை ஆராய்கிறது. இந்த குறிப்பிட்ட DST சிக்கலைத் தீர்ப்பதன் மூலம், டெவலப்பர்கள் தங்கள் நேர ஒத்திசைவு தர்க்கத்தை மேம்படுத்தலாம் மற்றும் பிழைகளைக் குறைக்கலாம். இந்த சூழ்நிலையை சமாளிக்க ஒரு பயனுள்ள தீர்வுக்கு முழுக்குப்போம். 🚀

கட்டளை பயன்பாட்டின் உதாரணம்
SetLocalTime SYSTEMTIME அமைப்புடன் கணினியின் உள்ளூர் நேரத்தை அமைக்கப் பயன்படுகிறது. ஒத்திசைவின் போது நேரத்தை புதுப்பிப்பதற்கு அவசியம். எடுத்துக்காட்டு: SetLocalTime(&wallTime);
GetDynamicTimeZoneInformation சார்பு, பகல் சேமிப்புத் தகவல் மற்றும் நேர மண்டலப் பெயர் உள்ளிட்ட தற்போதைய நேர மண்டல விவரங்களைப் பெறுகிறது. எடுத்துக்காட்டு: DWORD முடிவு = GetDynamicTimeZoneInformation(&timeZoneInfo);
DYNAMIC_TIME_ZONE_INFORMATION சார்பு மற்றும் பகல் சேமிப்பு மாற்றங்கள் போன்ற நேர மண்டல விவரங்களை வைத்திருக்கும் Windows API அமைப்பு. எடுத்துக்காட்டு: DYNAMIC_TIME_ZONE_INFORMATION timeZoneInfo = {0};
TIME_ZONE_ID_DAYLIGHT கணினி தற்போது பகல் சேமிப்பு நேரத்தைக் கடைப்பிடித்து வருவதைக் குறிக்கிறது. எடுத்துக்காட்டு: என்றால் (முடிவு == TIME_ZONE_ID_DAYLIGHT)
TIME_ZONE_ID_STANDARD கணினி நிலையான நேரத்தைக் கடைப்பிடிப்பதைக் குறிக்கிறது. எடுத்துக்காட்டு: என்றால் (முடிவு == TIME_ZONE_ID_STANDARD)
std::runtime_error பிழை கையாளுதலுக்கான இயக்க நேர விதிவிலக்குகளை வீசுகிறது. எடுத்துக்காட்டு: எறியுங்கள் std ::runtime_error("பிழை செய்தி");
localtime_s இழை-பாதுகாப்பான வழியில் time_t பொருளை உள்ளூர் நேர அமைப்பாக மாற்றுகிறது. எடுத்துக்காட்டு: உள்ளூர் நேரங்கள் (&newDateTime, &dateTime);
std::cerr நிலையான பிழை ஸ்ட்ரீமில் பிழை செய்திகளை வெளியிடுகிறது. எடுத்துக்காட்டு: std::cerr << "பிழை: " << ex.what() << std::endl;
Bias நிமிடங்களில் UTC இலிருந்து நேர வேறுபாட்டைக் குறிக்கிறது. நேர மண்டலத் தகவலைப் பயன்படுத்தி கணக்கிடப்பட்டது. எடுத்துக்காட்டு: int bias = timeZoneInfo.Bias + timeZoneInfo.DaylightBias;
struct tm தேதி மற்றும் நேரத் தகவலை உடைந்த வடிவத்தில் வைத்திருக்கும் நிலையான C++ அமைப்பு. எடுத்துக்காட்டு: struct tm newDateTime;

தெளிவற்ற சூழ்நிலைகளில் நேர ஒத்திசைவு துல்லியத்தை மேம்படுத்துதல்

வழங்கப்பட்ட ஸ்கிரிப்டுகள் முக்கியமான சிக்கலைச் சமாளிக்கின்றன நேர ஒத்திசைவு இரண்டு அமைப்புகளுக்கு இடையே, பகல் சேமிப்பு நேரம் (DST) மாற்றங்களின் போது தெளிவின்மையை நிர்வகிப்பதில் கவனம் செலுத்துகிறது. UTC நேரத்தை உள்ளூர் நேரத்திற்கு மாற்றுவது மற்றும் சரியான நேரமண்டல சார்பைக் கணக்கிடுவது ஆகியவை முதன்மை செயல்பாடாகும். போன்ற Windows API கட்டளைகளைப் பயன்படுத்துதல் லோக்கல்டைம் அமைக்கவும் சாத்தியமான பிழைகளை திறம்பட கையாளும் போது கணினியின் நேரம் துல்லியமாக அமைக்கப்படுவதை உறுதி செய்கிறது. 1 AM முதல் 2 AM வரையிலான காலகட்டத்தில் DST மாற்றங்கள் காரணமாக நேரம் ஒன்றுடன் ஒன்று சேரும் போது இது மிகவும் முக்கியமானது. இத்தகைய துல்லியமானது சிஸ்டம் ஏ மற்றும் சிஸ்டம் பி இடையே மீண்டும் முயற்சிகள் அல்லது முரண்பாடுகளைத் தடுக்கிறது. 🌐

ஸ்கிரிப்ட்களில் ஒன்று பயன்படுத்துகிறது GetDynamicTimeZoneInformation கட்டளை, இது பயாஸ் மற்றும் டேலைட் பயாஸ் உள்ளிட்ட விரிவான நேர மண்டலத் தரவைப் பெறுகிறது. டிஎஸ்டி நடைமுறையில் உள்ளதா என்பதன் அடிப்படையில் சரிசெய்யப்பட்ட சார்புகளைக் கணக்கிட இந்த மதிப்புகள் பயன்படுத்தப்படுகின்றன. குறியீட்டின் மட்டு அமைப்பு அதை மீண்டும் பயன்படுத்தக்கூடியதாகவும், சோதனை செய்வதற்கு எளிதாகவும், வெவ்வேறு நேர மண்டல உள்ளமைவுகளை வழங்குகிறது. தவறான நேர முத்திரைகள் பிழைகளுக்கு வழிவகுக்கும் சர்வதேச நிதி பயன்பாடுகள் போன்ற பல ஒன்றோடொன்று இணைக்கப்பட்ட அமைப்புகளைக் கொண்ட சூழல்களுக்கு இந்த மாடுலாரிட்டி அவசியம்.

போன்ற கட்டமைப்புகளுடன் பிழை கையாளுதல் வலுவாக ஒருங்கிணைக்கப்பட்டுள்ளது std::runtime_error, இது நேரத்தை அமைப்பதில் அல்லது நேரமண்டலத் தரவை மீட்டெடுப்பதில் ஏதேனும் தோல்வியை உறுதிசெய்கிறது மற்றும் திறம்படத் தொடர்புகொள்ளப்படுகிறது. எடுத்துக்காட்டாக, நவம்பரில் DST மாற்றத்தின் போது, ​​சிஸ்டம் A நேரத்தை 1:59 AM என அமைத்தால், சிஸ்டம் B ஆனது -300 அல்லது -360 நிமிடச் சார்பைத் துல்லியமாகப் பயன்படுத்த வேண்டுமா என்பதைக் கணக்கிட முடியும். இது செயல்பாட்டு இடையூறுகளைத் தடுக்கிறது மற்றும் இரு அமைப்புகளையும் தடையின்றி சீரமைக்கிறது. 🚀

கூடுதலாக, போன்ற நூல்-பாதுகாப்பான செயல்பாடுகளின் பயன்பாடு உள்ளூர் நேரம்_கள் பல திரிக்கப்பட்ட பயன்பாடுகளில் உள்ளூர் நேர மாற்ற செயல்முறை நம்பகமானதாக இருப்பதை உறுதி செய்கிறது. இந்த வடிவமைப்பு துல்லியத்தை ஆதரிப்பது மட்டுமல்லாமல், பங்கு வர்த்தக தளங்கள் அல்லது IoT நெட்வொர்க்குகள் போன்ற அதிவேக செயலாக்கம் தேவைப்படும் அமைப்புகளுக்கான செயல்திறனை மேம்படுத்துகிறது. இந்த ஸ்கிரிப்ட்கள் மூலம், டெவலப்பர்கள் ஒத்திசைவு சவால்களை எதிர்கொள்ள ஒரு வலுவான கருவித்தொகுப்பைப் பெறுகிறார்கள், தெளிவற்ற DST மணிநேரம் போன்ற எட்ஜ் கேஸ்களிலும் கூட அமைப்புகள் சீராக இருப்பதை உறுதிசெய்கிறது. இந்த விரிவான தீர்வு நவீன நிரலாக்க நுட்பங்கள் நிஜ-உலக நேர மேலாண்மை சிக்கல்களை எவ்வாறு திறம்பட குறைக்க முடியும் என்பதை நிரூபிக்கிறது.

C++ அமைப்புகளில் நேர ஒத்திசைவு மற்றும் DST தெளிவின்மை ஆகியவற்றைக் கையாளுதல்

பகல்நேர சேமிப்பு நேர மாற்றங்களின் போது தெளிவற்ற நேரத்தின் சிக்கலைத் தீர்க்க இந்த தீர்வு Windows API உடன் C++ ஐப் பயன்படுத்துகிறது. இது மட்டு மற்றும் உகந்த அணுகுமுறைகளை உள்ளடக்கியது.

#include <iostream>
#include <ctime>
#include <windows.h>
#include <stdexcept>

// Function to calculate bias considering DST
int calculateBias()
{
    DYNAMIC_TIME_ZONE_INFORMATION timeZoneInfo = {0};
    DWORD result = GetDynamicTimeZoneInformation(&timeZoneInfo);
    if (result == TIME_ZONE_ID_INVALID)
        throw std::runtime_error("Failed to get time zone information");
    int bias = (result == TIME_ZONE_ID_DAYLIGHT)
                 ? (timeZoneInfo.Bias + timeZoneInfo.DaylightBias)
                 : (timeZoneInfo.Bias + timeZoneInfo.StandardBias);
    return bias;
}

// Function to set local time with error handling
void setLocalTime(SYSTEMTIME& wallTime)
{
    if (!SetLocalTime(&wallTime))
        throw std::runtime_error("Failed to set local time");
}

// Main synchronization logic
int main()
{
    try
    {
        time_t dateTime = time(nullptr); // Current UTC time
        struct tm newDateTime;
        localtime_s(&newDateTime, &dateTime);

        SYSTEMTIME wallTime = {0};
        wallTime.wYear = 2024;
        wallTime.wMonth = 11;
        wallTime.wDay = 3;
        wallTime.wHour = 1;
        wallTime.wMinute = 59;
        wallTime.wSecond = 30;

        setLocalTime(wallTime);
        int bias = calculateBias();
        std::cout << "Calculated Bias: " << bias << std::endl;
    }
    catch (const std::exception& ex)
    {
        std::cerr << "Error: " << ex.what() << std::endl;
        return 1;
    }
    return 0;
}

சிறந்த சோதனைக்கான மாடுலர் செயல்பாடுகளைப் பயன்படுத்தி மாற்று தீர்வு

இந்த ஸ்கிரிப்ட் செயல்பாட்டை சோதிக்கக்கூடிய தொகுதிகளாக பிரிக்கிறது, சுத்தமான குறியீட்டை உறுதி செய்கிறது மற்றும் வெவ்வேறு சூழல்களில் சரிபார்ப்பை எளிதாக்குகிறது.

#include <iostream>
#include <ctime>
#include <windows.h>

// Fetch dynamic time zone information
DYNAMIC_TIME_ZONE_INFORMATION fetchTimeZoneInfo()
{
    DYNAMIC_TIME_ZONE_INFORMATION timeZoneInfo = {0};
    if (GetDynamicTimeZoneInformation(&timeZoneInfo) == TIME_ZONE_ID_INVALID)
        throw std::runtime_error("Error fetching time zone information");
    return timeZoneInfo;
}

// Adjust for bias based on DST
int adjustBias(const DYNAMIC_TIME_ZONE_INFORMATION& timeZoneInfo, DWORD result)
{
    return (result == TIME_ZONE_ID_DAYLIGHT)
           ? (timeZoneInfo.Bias + timeZoneInfo.DaylightBias)
           : (timeZoneInfo.Bias + timeZoneInfo.StandardBias);
}

// Unit test for bias calculation
void testBiasCalculation()
{
    DYNAMIC_TIME_ZONE_INFORMATION tzInfo = fetchTimeZoneInfo();
    DWORD result = GetDynamicTimeZoneInformation(&tzInfo);
    int bias = adjustBias(tzInfo, result);
    std::cout << "Test Bias: " << bias << std::endl;
}

int main()
{
    try
    {
        testBiasCalculation();
    }
    catch (const std::exception& e)
    {
        std::cerr << "Unit Test Error: " << e.what() << std::endl;
    }
    return 0;
}

டிஎஸ்டியுடன் நேர ஒத்திசைவில் உள்ள தெளிவின்மைகளை சமாளித்தல்

ஒரு முக்கியமான அம்சம் நேர ஒத்திசைவு விநியோகிக்கப்பட்ட அமைப்புகளில் பகல் சேமிப்பு நேரத்தின் (DST) சிக்கல்களைப் புரிந்துகொள்வது அடங்கும். சிஸ்டம் A ஆனது UTC நேரத்தை சிஸ்டம் B க்கு அனுப்பும் போது, ​​செயல்பாடுகள் சீராக இருப்பதை உறுதி செய்ய அதை துல்லியமாக உள்ளூர் நேரத்திற்கு மாற்றுவது அவசியம். இருப்பினும், DST மாற்றங்களின் போது உள்ள தெளிவின்மை, குறிப்பாக 1 AM முதல் 2 AM வரையிலான கால இடைவெளிகளில், சவால்களை உருவாக்குகிறது. குறிப்பாக போக்குவரத்து அட்டவணைகள் அல்லது நிதி பரிவர்த்தனைகள் போன்ற முக்கியமான அமைப்புகளில் இந்த தெளிவின்மைகள் சரியாக கவனிக்கப்படாவிட்டால் பிழைகளுக்கு வழிவகுக்கும். 🌍

கணினிகள் சரியான நேரமண்டல சார்புகளை மாறும் வகையில் கணக்கிட்டுப் பயன்படுத்த வேண்டியிருக்கும் போது சிக்கலான மற்றொரு அடுக்கு எழுகிறது. Windows API கட்டளைகளின் பயன்பாடு, போன்ற GetDynamicTimeZoneInformation, பயாஸ் மற்றும் டேலைட் பயாஸ் மதிப்புகள் போன்ற தேவையான விவரங்களை மீட்டெடுக்க ஒரு வலுவான பொறிமுறையை வழங்குகிறது. இந்த மதிப்புகள் டிஎஸ்டிக்கு சரிசெய்ய வேண்டுமா என்பதை அமைப்புகளுக்குத் தீர்மானிக்க உதவுகின்றன. எடுத்துக்காட்டாக, நவம்பர் மாற்றத்தின் போது, ​​மைய நேரத்திற்கு -300 நிமிடங்கள் அல்லது -360 நிமிடங்கள் ஒரு சார்புநிலையைப் பயன்படுத்த வேண்டுமா என்பதை அமைப்புகள் தீர்மானிக்க வேண்டும். இந்தக் கணக்கீடு துல்லியமாக இருப்பதை உறுதிசெய்வது அமைப்புகளுக்கிடையேயான தகவல்தொடர்புகளில் உள்ள முரண்பாடுகளைக் குறைக்கிறது. 🔄

டெவலப்பர்கள் தங்கள் பிழை கையாளுதல் மற்றும் சோதனை வழிமுறைகளை மேம்படுத்துவதில் கவனம் செலுத்த வேண்டும். போன்ற நூல்-பாதுகாப்பான செயல்பாடுகளை இணைப்பதன் மூலம் localtime_s மற்றும் கட்டமைக்கப்பட்ட விதிவிலக்கு கையாளுதல், அமைப்புகள் தெளிவற்ற காலகட்டங்களில் செயலிழப்பைத் தவிர்க்கலாம். மேலும், பல்வேறு DST காட்சிகளை உருவகப்படுத்தும் அலகு சோதனைகளை ஒருங்கிணைப்பது ஒத்திசைவு தர்க்கத்தின் நம்பகத்தன்மையை உறுதி செய்கிறது. இந்த அணுகுமுறை அமைப்புகளை மேலும் வலிமையாக்குகிறது மற்றும் விளிம்பு நிலைகளின் போது தோல்வியின் அபாயத்தைக் குறைக்கிறது, பயனர்களுக்கும் பங்குதாரர்களுக்கும் ஒரே மாதிரியான அனுபவத்தை உருவாக்குகிறது.

நேர ஒத்திசைவு மற்றும் DST பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்

  1. நோக்கம் என்ன SetLocalTime நேர ஒத்திசைவில்?
  2. இது a இல் வழங்கப்பட்ட மதிப்புகளைப் பயன்படுத்தி கணினியின் உள்ளூர் நேரத்தை மேம்படுத்துகிறது SYSTEMTIME கட்டமைப்பு, ஒத்திசைவின் போது துல்லியத்தை உறுதி செய்வதற்கு முக்கியமானது.
  3. எப்படி செய்கிறது GetDynamicTimeZoneInformation டிஎஸ்டி மாற்றங்களைக் கையாளவா?
  4. இந்தச் செயல்பாடு, டிஎஸ்டி செயலில் உள்ளதா என்பதன் அடிப்படையில் பயன்படுத்தப்படும் பயாஸ் மற்றும் டேலைட் பயாஸ் உள்ளிட்ட நேர மண்டலத் தரவை மீட்டெடுக்கிறது.
  5. ஏன் உள்ளது localtime_s முன்னுரிமை localtime?
  6. localtime_s நூல்-பாதுகாப்பானது, பல-திரிக்கப்பட்ட பயன்பாடுகளில் நம்பகமான உள்ளூர் நேர மாற்றத்தை உறுதி செய்கிறது.
  7. நேர ஒத்திசைவுக் குறியீட்டை எவ்வாறு திறம்படச் சோதிப்பது?
  8. சிஸ்டம் கடிகாரங்களை தெளிவற்ற நேரங்களுக்கு அமைப்பதன் மூலம் வெவ்வேறு DST காட்சிகளை உருவகப்படுத்தவும் மற்றும் எதிர்பார்க்கப்படும் சார்புகளுக்கு எதிராக முடிவுகளை சரிபார்க்கவும்.
  9. DST மாற்றங்களின் போது ஏற்படும் பொதுவான பிழைகள் என்ன?
  10. நேரங்களை ஒன்றுடன் ஒன்று சேர்ப்பது போன்ற தெளிவின்மைகள் சார்புகளில் தவறான கணக்கீடுகளுக்கு வழிவகுக்கும் அல்லது கணினிகளுக்கு இடையே ஒத்திசைவு தோல்வியுற்றது.

தெளிவற்ற நேர காலங்களை நிர்வகிப்பதற்கான முக்கிய நுண்ணறிவு

துல்லியமானது நேர ஒத்திசைவு விநியோகிக்கப்பட்ட அமைப்புகளில், குறிப்பாக டிஎஸ்டி மாற்றங்கள் போன்ற சவாலான காலகட்டங்களில் இது அவசியம். விண்டோஸ் ஏபிஐ கட்டளைகள் போன்ற கருவிகளைப் பயன்படுத்துவது, நேர தெளிவின்மை இருந்தபோதிலும் கணினிகள் சீரானதாகவும் செயல்படுவதையும் உறுதி செய்கிறது. இந்த நுட்பங்கள் மறு முயற்சிகளைத் தடுக்கின்றன மற்றும் நம்பகத்தன்மையை அதிகரிக்கின்றன. 🛠️

தெளிவான மாடுலாரிட்டி மற்றும் வலுவான சோதனை மூலம், டெவலப்பர்கள் எட்ஜ் கேஸ்களை நிவர்த்தி செய்து கணினி செயல்திறனை மேம்படுத்தலாம். நிதி அமைப்புகளாக இருந்தாலும் சரி அல்லது IoT நெட்வொர்க்குகளாக இருந்தாலும் சரி, துல்லியமான நேரத்தை கையாளுதல் போன்ற முறைகள் GetDynamicTimeZoneInformation பிழைகளைக் குறைக்கிறது மற்றும் பணிப்பாய்வுகளை மேம்படுத்துகிறது, முக்கியமான சூழ்நிலைகளில் துல்லியம் மற்றும் செயல்திறனை உறுதி செய்கிறது.

நேர ஒத்திசைவு நுட்பங்களுக்கான ஆதாரங்கள் மற்றும் குறிப்புகள்
  1. அதிகாரப்பூர்வ மைக்ரோசாஃப்ட் ஆவணத்திலிருந்து பெறப்பட்ட Windows API நேர கையாளுதல் மற்றும் DST சரிசெய்தல் பற்றிய விவரங்கள். வருகை: விண்டோஸ் நேர மண்டல செயல்பாடுகள் .
  2. C++ ஆவணங்களில் இருந்து குறிப்பிடப்பட்ட நிலையான நூலகங்களைப் பயன்படுத்தி C++ நேரக் கையாளுதல் பற்றிய நுண்ணறிவு. வருகை: C++ ctime குறிப்பு .
  3. தொடர்புடைய ஸ்டாக் ஓவர்ஃப்ளோ த்ரெட்களில் இருந்து தழுவிய தெளிவற்ற நேரக் காலங்களைக் கையாள்வது பற்றிய எடுத்துக்காட்டு குறியீடு மற்றும் விவாதங்கள். வருகை: ஸ்டாக் ஓவர்ஃப்ளோ .
  4. GeeksforGeeks இல் உள்ள டுடோரியலில் இருந்து பெறப்பட்ட நூல்-பாதுகாப்பான நேர மாற்ற செயல்பாடுகளை செயல்படுத்துவதற்கான வழிகாட்டுதல். வருகை: GeeksforGeeks .