Click here to Skip to main content
15,894,646 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
I am using window 7 os 64 bits
a boreland compiler 32 bit
compile 0 warning 0 errors but make fail when i try to run code, can youu help


just need some guidance, as earlier suggested maybe my format is ugly
just need to know how i can get to run this code , shorten the program and have the same result


C++
int main()
{
    // start of main

//Main_menu();

}//end of main
void Main_menu(void)
{
    char choice;
    do
    {
        printf("\tA. Populate the matrix\n");
        printf("\tB. Display the matrix\n");
        printf("\tC. Perform operation\n");
        printf("\tD. Credits\n");
        printf("\tE. Exit Program\n\n\n");
        printf("Please enter your choice: ");
        scanf(" %c",&choice);
        choice = toupper(choice);
//system("cls");

        switch(choice)
        {
        case 'A':
        {
            Populate_Matrix();
            break;
        }
        case 'B':
        {
            display();
            break;
        }
        case 'C':
        {
            operations();
            break;
        }
        case 'D':
        {
            printf("\n Dr. T. Chambers C++ group  2011\n\n\n\n");
            break;
        }
        case 'E':
        {
            break;
        }
        default:
        {
            printf("Please choose a letter from A-E,You enterd a letter that is not accepted\n");
        }
        }
    }
    while(choice !=0);
}
void Populate_Matrix(void)
{
    int i,j;
    do
    {
        printf("Enter the number of matrix you need\n");
        scanf("%d",&size);
    }
    while(size <0 || size >5);
    printf("Enter the number of row and colums of mantrix\n");
    scanf("%d%d",&rows,&columns);
    if(size > 0 && size <= 5 )
    {
        printf("\tA. Add values to matrix A\n");
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                scanf("%d",&arrayA[i][j]);
            }
        }
    }
    if(size>1 && size <=5)
    {
        printf("\tA. Add values to matrix B\n");
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                scanf("%d",&arrayB[i][j]);
            }
        }
    }
    if(size>2 && size <=5)
    {
        printf("\tA. Add values to matrix C\n");
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                scanf("%d",&arrayC[i][j]);
            }
        }
    }
}

void display(void)
{
    int i, j;
    if(size > 0 && size <= 5 )
    {
        printf("\t Add values to matrix A\n");
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                printf("%d ",arrayA[i][j]);
            }
            printf("\n");
        }
    }
    printf("\n");
    if(size>1 && size <=5)
    {
        printf("\t values to matrix B\n");
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                printf("%d ",arrayB[i][j]);
            }
            printf("\n");
        }
    }
    printf("\n");
    if(size>2 && size <=5)
    {
        printf("\tValues stores matrix C\n");
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                printf("%d ",arrayC[i][j]);
            }
            printf("\n");
        }
    }
    printf("\n");
}

void operations()
{
    int choice=0;
    do
    {
        printf("\t1 Scalar\n");
        printf("\t2 Addition\n");
        printf("\t3 Substraction\n");
        printf("\t4 Multiplication\n");
        printf("\t5 Exit Program\n\n\n");
        scanf(" %d",&choice);
        switch(choice)
        {
        case 1:
            ScalarMult();
            break;
        case 2:
            addition();
            break;
        case 3:
            subtraction();
            break;
        case 4:
            multiplication();
            break;
        default:
        {
            printf("Please choose a letter from A-E,You enterd a letter that is not accepted\n");
        }
        }
    }
    while(choice !=0);
}

void addition()
{
    int i,j;
    int result[5][5]= {0};
    int choice1, choice2;
    printf("Enter the two matrix you need to use\n");
    scanf("%d %d", &choice1,&choice2);
    if(choice1 == 1 && choice2 ==2)
    {
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                printf("%d ",result[i][j] = arrayA[i][j] + arrayB[i][j]);
            }
            printf("\n");
        }
    }
    if(choice1 == 1 && choice2 ==3)
    {
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                printf("%d ",result[i][j] = arrayA[i][j] + arrayC[i][j]);
            }
            printf("\n");
        }
    }
    if(choice1 == 2 && choice2 ==3)
    {
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                result[i][j] = arrayC[i][j] + arrayB[i][j];
            }
        }
    }
}

void subtraction()
{
    int i,j;
    int result[5][5]= {0};
    int choice1, choice2;
    printf("Enter the two matrix you need to use\n");
    scanf("%d %d", &choice1,&choice2);
    if(choice1 == 1 && choice2 ==2)
    {
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                printf("%d ",result[i][j] = arrayA[i][j] - arrayB[i][j]);
            }
            printf("\n");
        }
    }
    if(choice1 == 1 && choice2 ==3)
    {
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                printf("%d ",result[i][j] = arrayA[i][j] - arrayC[i][j]);
            }
            printf("\n");
        }
    }
    if(choice1 == 2 && choice2 ==3)
    {
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                result[i][j] = arrayC[i][j] - arrayB[i][j];
            }
        }
    }

}

void ScalarMult()
{
    int i,j;
    int result[5][5]= {0};
    int choice1, scaleFactor;
    printf("Enter the two matrix you need to SCALE and scale factor\n");
    scanf("%d %d", &choice1,&scaleFactor);
    if(choice1 == 1 )
    {
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                printf("%d ",arrayA[i][j] * scaleFactor);
            }
            printf("\n");
        }
    }
    if(choice1 == 2 )
    {
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                printf("%d ",arrayB[i][j] * scaleFactor);
            }
            printf("\n");
        }
    }
    if(choice1 == 3)
    {
        for(i=0; i < rows; i++)
        {
            for(j=0; j < columns; j++)
            {
                printf("%d ",arrayC[i][j] * scaleFactor);
            }
        }
    }
}

void multiplication()
const int _M1ROWS = 2;
const int _M1COLS = 3;
const int _M2ROWS = 3;
const int _M2COLS = 2;

int main()


[edited for formatting]

[edit]Added <pre> tags around code so it is readable! RJM[/edit]
Posted
Updated 26-Nov-11 4:47am
v7
Comments
Philippe Mori 26-Nov-11 8:59am    
You code is poorly formatted and too long. Only post the minimum code required to reproduce the problem.

Also learn to reuse code. Some code fragment like outputing a matrix is repeated a lot of time. Make a function with that code. You will improve readability and you code sampler will be much shorter.

By the way, you don't even tell the problem.

Use a debugger to debug your program­.
carlmack 26-Nov-11 9:52am    
I am trying to get familiar with this forum, from the looks i see here , there is a wealth of experience to be gained . Thanks much all, i want my program to be used to compute matrices operation but before i can even attempt same i need a compiler that will run on my window 7 64 bit machine, secondly i want to write a C++ program using dynamic array hence my attempt. so all i need is guidance . thanks much

1 solution

"compile 0 warning 0 errors but make fail when i try to run code, can youu help"

No.

Why not? For two reasons:
1) You don't tell us what the problem is, what it is supposed to do, or what it is doing wrong.
2) I am not reading that code! If you want code to be read, then format it to make it easy for us to read.
Which would you rather try to work out:
C#
if(size>2 && size <=5)
{
printf("\tValues stores matrix C\n");
for(i=0; i < rows; i++)
{
for(j=0;j < columns; j++)
{
printf("%d ",arrayC[i][j]);
}
printf("\n");
}
}
Or
C#
if(size>2 && size <=5)
   {
   printf("\tValues stores matrix C\n");
   for(i=0; i < rows; i++)
      {
      for(j=0;j < columns; j++)
         {
         printf("%d ",arrayC[i][j]);
         }
      printf("\n");
      }
   }
 
Share this answer
 
Comments
enhzflep 26-Nov-11 9:38am    
Precisely.. Gotta love the source-code formatting plugin in <insert name="" of="" ide="" choice="">

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900