Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8269673
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T06:18:27+00:00 2026-06-08T06:18:27+00:00

The problem can be found here : http://projecteuler.net/problem=11 Yesterday I saw project Euler and

  • 0

The problem can be found here : http://projecteuler.net/problem=11

Yesterday I saw project Euler and I am hooked up to it. I made a code to solve problem 11 but for some reason that is not visible to me the answer is coming out to be wrong.

Can anybody read my code and suggest anything?

#include <iostream>
using namespace std;

int input [20][20] = {
{8,2,22,97,38,15,0,40,0,75,4,5,7,78,52,12,50,77,91,8},
{49,49,99,40,17,81,18,57,60,87,17,40,98,43,69,48,4,56,62,0},
{81,49,31,73,55,79,14,29,93,71,40,67,53,88,30,3,49,13,36,65},
{52,70,95,23,4,60,11,42,69,24,68,56,1,32,56,71,37,2,36,91},
{22,31,16,71,51,67,63,89,41,92,36,54,22,40,40,28,66,33,13,80},
{24,47,32,60,99,3,45,2,44,75,33,53,78,36,84,20,35,17,12,50},
{32,98,81,28,64,23,67,10,26,38,40,67,59,54,70,66,18,38,64,70},
{67,26,20,68,2,62,12,20,95,63,94,39,63,8,40,91,66,49,94,21},
{24,55,58,5,66,73,99,26,97,17,78,78,96,83,14,88,34,89,63,72},
{21,36,23,9,75,0,76,44,20,45,35,14,0,61,33,97,34,31,33,95},
{78,17,53,28,22,75,31,67,15,94,3,80,4,62,16,14,9,53,56,92},
{16,39,5,42,96,35,31,47,55,58,88,24,0,17,54,24,36,29,85,57},
{86,56,0,48,35,71,89,7,5,44,44,37,44,60,21,58,51,54,17,58},
{19,80,81,68,5,94,47,69,28,73,92,13,86,52,17,77,4,89,55,40},
{4,52,8,83,97,35,99,16,7,97,57,32,16,26,26,79,33,27,98,66},
{88,36,68,87,57,62,20,72,3,46,33,67,46,55,12,32,63,93,53,69},
{4,42,16,73,38,25,39,11,24,94,72,18,8,46,29,32,40,62,76,36},
{20,69,36,41,72,30,23,88,34,62,99,69,82,67,59,85,74,4,36,16},
{20,73,35,29,78,31,90,1,74,31,49,71,48,86,81,16,23,57,5,54},
{1,70,54,71,83,51,54,69,16,92,33,48,61,43,52,1,89,19,67,48}
};

/* if element is a[i][j], its diagonal to the right is a[i+1][j+1]
if element is a[i][j], its diagonal to the left is a[i-1][j-1]  
IF element is a[i][j], the element below it is a[i+1][j]
IF element is a[i][j], the element on right of it is a[i][j+1]
*/


/*
approach:

=> find the greatest product of diagonals
=> find the greatest prodct of elements below each other
=> find the greatest prodct of element on right of each other
=> compare them
*/

int main(void)
{

unsigned long hr=0,hb=0,hdr=0, hdl=0;
//hr is the highest product on the right side traversal
//similraly for others


//for diagonal right
for(int i =0; i<17;i++) //going from 0 to 16 so that we dont land up beyond the array for (i+1),(j+1) etc
{
    for(int j=0;j<17;j++)
    {
        if(input[i][j]*input[i+1][j+1]*input[i+2][j+2]*input[i+3][j+3] > hdr)
        {
            hdr = input[i][j]*input[i+1][j+1]*input[i+2][j+2]*input[i+3][j+3];

        }
    }
}


for(int i =19; i>=3;i--)        //for diagonal left
{
    for(int j=19;j>=3;j--)
    {
        if(input[i][j]*input[i-1][j-1]*input[i-2][j-2]*input[i-3][j-3] > hdl)
        {
            hdl = input[i][j]*input[i-1][j-1]*input[i-2][j-2]*input[i-3][j-3];

        }
    }
}


for(int i =0; i<17;i++)     //for elements below each other
{
    for(int j=0;j<20;j++)
    {
        if(input[i][j]*input[i+1][j]*input[i+2][j]*input[i+3][j] > hb)
        {
            hb = input[i][j]*input[i+1][j]*input[i+2][j]*input[i+3][j];
        }
    }
}

for(int i =0; i<20;i++)     //on right
{
    for(int j=0;j<17;j++)
    {
        if(input[i][j]*input[i][j+1]*input[i][j+2]*input[i][j+3] > hr)
        {
            hr = input[i][j]*input[i][j+1]*input[i][j]*input[i][j+3];
        }
    }
}


if(hdr>hb && hdr > hr && hdr>hdl )
{
    cout<<hdr<<endl;
}
else if (hb > hdr && hb > hr && hb>hdl)
{
    cout<<hb<<endl;
}
else if(hr>hb && hr> hdr && hr > hdl)
{
    cout<<hr<<endl;
}
else
{
    cout<<hdl<<endl;
}
return 0;
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-08T06:18:29+00:00Added an answer on June 8, 2026 at 6:18 am

    This is the correct code that will work. I suggest anybody trying this problem gives some time to actually see the pattern by pencil and paper. The problem is very easy in itself.

    #include <iostream>
    using namespace std;
    
    int input [20][20] ={{8,2,22,97,38,15,0,40,0,75,4,5,7,78,52,12,50,77,91,8},   {49,49,99,40,17,81,18,57,60,87,17,40,98,43,69,48,4,56,62,0},
    {81,49,31,73,55,79,14,29,93,71,40,67,53,88,30,3,49,13,36,65},
    {52,70,95,23,4,60,11,42,69,24,68,56,1,32,56,71,37,2,36,91},
    {22,31,16,71,51,67,63,89,41,92,36,54,22,40,40,28,66,33,13,80},
    {24,47,32,60,99,3,45,2,44,75,33,53,78,36,84,20,35,17,12,50},
    {32,98,81,28,64,23,67,10,26,38,40,67,59,54,70,66,18,38,64,70},
    {67,26,20,68,2,62,12,20,95,63,94,39,63,8,40,91,66,49,94,21},
    {24,55,58,5,66,73,99,26,97,17,78,78,96,83,14,88,34,89,63,72},
    {21,36,23,9,75,0,76,44,20,45,35,14,0,61,33,97,34,31,33,95},
    {78,17,53,28,22,75,31,67,15,94,3,80,4,62,16,14,9,53,56,92},
    {16,39,5,42,96,35,31,47,55,58,88,24,0,17,54,24,36,29,85,57},
    {86,56,0,48,35,71,89,7,5,44,44,37,44,60,21,58,51,54,17,58},
    {19,80,81,68,5,94,47,69,28,73,92,13,86,52,17,77,4,89,55,40},
    {4,52,8,83,97,35,99,16,7,97,57,32,16,26,26,79,33,27,98,66},
    {88,36,68,87,57,62,20,72,3,46,33,67,46,55,12,32,63,93,53,69},
    {4,42,16,73,38,25,39,11,24,94,72,18,8,46,29,32,40,62,76,36},
    {20,69,36,41,72,30,23,88,34,62,99,69,82,67,59,85,74,4,36,16},
    {20,73,35,29,78,31,90,1,74,31,49,71,48,86,81,16,23,57,5,54},
    {1,70,54,71,83,51,54,69,16,92,33,48,61,43,52,1,89,19,67,48}};
    
    /* if element is a[i][j], its diagonal to the right is a[i+1][j+1]
       if element is a[i][j], its diagonal to the left is a[i+1][j-1]   
       IF element is a[i][j], the element below it is a[i+1][j]
       IF element is a[i][j], the element on right of it is a[i][j+1]
    */
    
    
    /*
    approach:
    
    => find the greatest product of diagonals
    => find the greatest prodct of elements below each other
    => find the greatest prodct of element on right of each other
    => compare  them
    */
    
    int main(void)
    {
    
    unsigned long hr=0,hb=0,hdr=0, hdl=0;
    //hr is the highest product on the right side traversal
    //similraly for others
    
    
    //for diagonal right
    for(int i =0; i<17;i++) //going from 0 to 16 so that we dont land up beyond the     array for (i+1),(j+1) etc
    {
        for(int j=0;j<17;j++)
        {
            if(input[i][j]*input[i+1][j+1]*input[i+2][j+2]*input[i+3][j+3] > hdr)
            {
                hdr = input[i][j]*input[i+1][j+1]*input[i+2][j+2]*input[i+3][j+3];
    
            }
        }
    }
    
    
    for(int i =0; i<17;i++)     //for diagonal left
    {
        for(int j=19;j>=3;j--)
        {
            if(input[i][j]*input[i+1][j-1]*input[i+2][j-2]*input[i+3][j-3] > hdl)
            {
                hdl = input[i][j]*input[i+1][j-1]*input[i+2][j-2]*input[i+3][j-3];
    
            }
        }
    }
    
    
    for(int i =0; i<17;i++)     //for elements below each other
    {
        for(int j=0;j<20;j++)
        {
            if(input[i][j]*input[i+1][j]*input[i+2][j]*input[i+3][j] > hb)
            {
                hb = input[i][j]*input[i+1][j]*input[i+2][j]*input[i+3][j];
            }
        }
    }
    
    for(int i =0; i<20;i++)     //on right
    {
        for(int j=0;j<17;j++)
        {
            if(input[i][j]*input[i][j+1]*input[i][j+2]*input[i][j+3] > hr)
            {
                hr = input[i][j]*input[i][j+1]*input[i][j]*input[i][j+3];
            }
        }
    }
    
    
    if(hdr>hb && hdr > hr && hdr>hdl )
    {
        cout<<hdr<<endl;
    }
    else if (hb > hdr && hb > hr && hb>hdl)
    {
        cout<<hb<<endl;
    }
    else if(hr>hb && hr> hdr && hr > hdl)
    {
        cout<<hr<<endl;
    }
    else
    {
        cout<<hdl<<endl;
    }
    return 0;
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

My problem is in my navigation bar, which can be found here: http://grupocoral.netai.net/ There
Code can be found here: http://www.myhorizon.ca/client_central/sortable_test.php Hello folks of Stackoverflow, I have a list
I added plugin $.fn.dataTableExt.oApi.fnGetColumnData Can be found here: http://datatables.net/plug-ins/api After I executed $(document).ready(function ()
I found this code from here: http://www.cssportal.com/form-elements/text-box.htm But the problem is you can still
i have a little problem, i'm searching, but i can't found what i need,
Possible Duplicate: Can main function call itself in C++? I found this problem very
I successfully installed Guake on CentOS using the guide found here: http://ww.centos.org/modules/newbb/viewtopic.php?viewmode=threaded&order=ASC&topic_id=33556&forum=56&move=next&topic_time=1317663060 I've added
I hope you can help me with my little problem here. I'm just starting
As you can see here: http://www.responsinator.com/?url=www.vaneldijk.nl there is an extra space on lower resolution
My problem can be reduced to basically the following set of entities : I

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.