Language: C++

#include<bits/stdc++.h> 
using namespace std; 
#define ll long long int
  
// Multiplies str1 and str2, and prints result. 
string multiply(string num1, string num2) 
{ 
    int len1 = num1.size(); 
    int len2 = num2.size(); 
    if (len1 == 0 || len2 == 0) 
    return "0"; 
  
    // will keep the result number in vector 
    // in reverse order 
    vector<int> result(len1 + len2, 0); 
  
    // Below two indexes are used to find positions 
    // in result.  
    int i_n1 = 0;  
    int i_n2 = 0;  
      
    // Go from right to left in num1 
    for (int i=len1-1; i>=0; i--) 
    { 
        int carry = 0; 
        int n1 = num1[i] - '0'; 
  
        // To shift position to left after every 
        // multiplication of a digit in num2 
        i_n2 = 0;  
          
        // Go from right to left in num2              
        for (int j=len2-1; j>=0; j--) 
        { 
            // Take current digit of second number 
            int n2 = num2[j] - '0'; 
  
            // Multiply with current digit of first number 
            // and add result to previously stored result 
            // at current position.  
            int sum = n1*n2 + result[i_n1 + i_n2] + carry; 
  
            // Carry for next iteration 
            carry = sum/10; 
  
            // Store result 
            result[i_n1 + i_n2] = sum % 10; 
  
            i_n2++; 
        } 
  
        // store carry in next cell 
        if (carry > 0) 
            result[i_n1 + i_n2] += carry; 
  
        // To shift position to left after every 
        // multiplication of a digit in num1. 
        i_n1++; 
    } 
  
    // ignore '0's from the right 
    int i = result.size() - 1; 
    while (i>=0 && result[i] == 0) 
    i--; 
  
    // If all were '0's - means either both or 
    // one of num1 or num2 were '0' 
    if (i == -1) 
    return "0"; 
  
    // generate the result string 
    string s = ""; 
      
    while (i >= 0) 
        s += std::to_string(result[i--]); 
  
    return s; 
} 
  
// Driver code 
int main() 
{ 
    string str1,str2;
    cin>>str1;
    string str3;cin>>str3;
   str2="";
    for(ll i=0;i<str3.size();i++){if(str3[i]!='.') str2=str2+str3[i];}
    if(str1=="0"||str2=="0") {cout<<"0";return 0;}
    
    
      
    if((str1.at(0) == '-' || str2.at(0) == '-') &&  
        (str1.at(0) != '-' || str2.at(0) != '-' )) 
        cout<<"-"; 
  
  
    if(str1.at(0) == '-' && str2.at(0)!='-') 
        { 
            str1 = str1.substr(1); 
        } 
        else if(str1.at(0) != '-' && str2.at(0) == '-') 
        { 
            str2 = str2.substr(1); 
        } 
        else if(str1.at(0) == '-' && str2.at(0) == '-') 
        { 
            str1 = str1.substr(1); 
            str2 = str2.substr(1); 
        } 
       
    if(str2[0]=='0'&&str2[1]=='0'){str2=str2[2];
string s4=multiply(str1,str2);
string s5="00";
 s5=s5+s4;
 long long int j=0;
 for(long long int h=0;h<s5.size();h++){
     if(s5[h]!='0') {j=h;break;}
 }
for(long long int i=j;i<s5.size()-2;i++) cout<<s5[i];return 0;
return 0;
    }
  string s3=multiply(str1, str2);
  long long int j1=0;
 for(long long int h=0;h<s5.size();h++){
     if(s5[h]!='0') {j1=h;break;}
 }
    for(long long int i=j1;i<s3.size()-2;i++) cout<<s3[i];
    return 0; 
}

Compiler output:
a.cc: In function 'int main()':
a.cc:124:26: error: 's5' was not declared in this scope; did you mean 's3'?
  124 |  for(long long int h=0;h<s5.size();h++){
      |                          ^~
      |                          s3