C++ :: Multiplying Matrices And Arrays
May 14, 2012
Two different matrices will be read from text files (input1.txt, input2.txt) and they will be stored in two dimensional arrays (matrix1, matrix2) and one dimensional arrays (array1, array2). Our aim is to obtain the matrix multiplication using two dimensional and one dimensional arrays.
You are asked to write the main and the following functions. The definitions of the functions are given in the skeleton code.
int read_file(ifstream& in_file, int &row, int &col, double *array, double **matrix)
int write_file(ofstream& out_file, int row, int col, double **matrix)
void print_matrix(double **matrix, int row, int col)
void print_array(double *array, int row, int col)
void multip(double **matrix1, double **matrix2, double **result, int k, int m, int n)
void multip_array(double *array1, double *array2, double *array_result, int k, int m, int n)
You are going to obtain the input and output files as command line arguments
input1.txt :
3 4
2 3 4 5
1 3 5 4
0 4 4 7
The first element in the first line represents the number of rows (3) and the second element represents the number of columns (4) of the matrix (the result file will have the same format).
likewise;
input2.txt :
4 5
1 2 3 4 5
2 9 43 44 21
32 32 32 43 54
1 3 3 4 5
thats my homework and here is the code i wrote from the sceleton code they gave me :
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int read_file(ifstream& in_file, int &row, int &col,/* double *array,*/ double **matrix)
[Code] ....
I didn't understand the array part but even when i exclude the array part i get the program has stopped working message. My os is windows7 ultimate with mingw installed and i compile the program using g++ command in cmd with the arguments input.txt input2.txt resultt.txt
View 1 Replies
ADVERTISEMENT
Nov 13, 2013
Any example code for printing a square matrix without arrays?
View 7 Replies
View Related
Nov 7, 2014
I am working on a number of utility functions for two dimensional arrays of integers, or matrices. However I am having a problem with segmentation faults, most likely due to errors in using malloc in functions like copyMatrix.
Code:
matrix_utils.h~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//This function checks if two matrices are equal
int isEqual(int **A, int **B, int n);
//This function returns one row of a matrix
int * getRow(int **A, int i, int n);
//This function returns one column of a matrix
int * getCol(int **A, int j, int n);
[Code] ....
View 2 Replies
View Related
Feb 23, 2014
I'm very new to C++ so I've been trying to run through some code examples to begin to learn basic structures and syntax, but I've recently run into a problem using examples from the 7th ed. of Sams Teach Yourself C++. I'm using the code provided within one of the examples that allows you to specify and multiply two variables, but when I compile and run the executable the final output seems to only show the first variable and b/c of this the multiplication operation does not work.
Here is a my example code:
Code:
#include <iostream>
using namespace std;
int main() {
cout << "This program will multiply two numbers" << endl;
[Code] ....
View 3 Replies
View Related
Apr 19, 2014
#include <iostream>
#include <cstdlib>
using namespace std;
[Code]....
I am trying to initialize int x[] = {10, 100, 1000, 10000} into a loop and give me four different numbers for something. I was trying to get creative and just do
myArr[j] = j * 10; with (int j = 1; j < 10000; j++) ,
But that doesn't work. It still gives me an output of 10 11 12... How to make an array punch through a loop and give me
10 Press any key to continue...
100 Press any key to continue...
1000 Press any key to continue...
10000 Press any key to continue....
I'm thinking I must set the for loop to < 10000.1 or < 10001 to output the final value in the array.
View 3 Replies
View Related
Jun 3, 2013
Trying to multiply to matrixes using the following algorithm,
Code:
ABrec(A,B)
n=A.rows; //n must be multiple of 2
C is a new n*n matrix.
if(n==1)
C[0][0]=A[0][0]*B[0][0];
[Code] ....
but the code doesn't work !!!
View 4 Replies
View Related
Nov 16, 2013
I have an array as such and need to multiply all the values of it by each other and put that as a variable.
//for example
int array1[100]
//assume i have already input the values of each element properly up to, say, element 4
//I need to now multiply all of those values together. I think I need the size of the array to control what it multiplies (I know how to find size) ....
View 4 Replies
View Related
May 1, 2014
we have to make a Invoice class which has a function called computeInvoiceAmount() which multiplies the price and the quantitiy which are private member of the class.
double computeInvoiceAmount(){
return quantity * pricePerItem;
}
This is my function, but if i compile it i get the following error:
"Invoice.cpp:53:11: error: "quantity" was not declared in this scope" and "Invoice.cpp:53:22: error: "pricePerItem" was not declared in this scope"
I tried it with the get functions but i get the same error.
Full code is here: [URL]
View 1 Replies
View Related
Sep 11, 2014
I have code the following but result is not ok.
int main()
{
int i,j,m;
m = 0;
[Code].....
View 3 Replies
View Related
Jun 4, 2013
So I have this program to calculate the types of meat, I have fixed the system errors but the actual program when I run it comes up with <null>
Code:
#include <stdio.h>
#include <stdlib.h>
#define beef 1 /* multiplication factor of beef*/
#define chicken 1.5 /*factor of chicken*/
[Code] .....
View 2 Replies
View Related
Mar 3, 2013
I am having a bit of difficulty with implementing an object oriented program that uses both linked lists and operator overloading. The program calls for adding and multiplying polynomials together, with each single polynomial being represented as a node of a linked list (which is further a data member of an object of a class I have defined to implement this program). For example:
polynomial A will be: 3x^4 // 1 node of a linked list
polynomial B will be: 5x^2 // 1 node of a linked list
polynomial C will be blank for the time being. // empty list
Now, I need to use operator overloading so that this following line of code can be implemented:
C = A + B;
C should now be: 3x^4 + 5x^2.
The checklist of which parts of my code that work:
constructor works;
copy constructor works;
destructor works;
operator= works;
print function needs work but i can worry about that later;
operator* work on later
Here is my code:
#include <iostream>
using namespace std;
struct termNode {
int exp; // exponent
int coef; // coefficient
termNode * next;
[Code] ....
For the time being I need to add multiple nodes together (with the result being in descending order). So for example:
polyType a(2,3), b(4,5), c(6,7), d;
d = a + b + c;
d.print(); // should print out 7x^6 + 5x^4 + 3x^2, but it will only print out: 3x^2 + 7x^6
View 5 Replies
View Related
Nov 11, 2013
I am suppose to find voltage by multiplying a resistance array and a current array by using a function and pointers. This is what I have so far:
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <iomanip>
[Code] ....
View 1 Replies
View Related
Mar 6, 2013
How do you add two matrices together ?
View 2 Replies
View Related
Mar 7, 2014
I haven't found anything that small for Matrix multiplication i was just going to ask about how i would multiply to matrices together in c++ as easy as possible, so for example say a i have the following
[2 0 1 0 * [3 0
6 -1 0 2] 0 3
1 2
3 1]
How would i multiply these together. Here is the example
Attached image(s)
View 11 Replies
View Related
Jul 26, 2013
I tried writing a cofactoring routine for n x n matrices and my code works but it shouldn't. Like, at all. But it does. Idk how and it's consistent.
Basically, my error is when assigning the sub-matrix for the cofactorization method I'm using from here :
Mathwords: Cofactor Matrix
My assignment routine should not work for the sub-matrix because of how I address the rows. under is always 0 and yet it'll assign values to the proper row. Idk how, it's magic.
Code:
#include <stdio.h>
#include <stdlib.h>
long double det(long double **x, int rank) {
/* Determinant calculator routine */
/* We initialize the resulting determinant to zero */
[Code] .....
View 11 Replies
View Related
Apr 17, 2014
The program below should add two matrices using function. I have problem in the third function (the summing function). It's saying that something wrong with the array! I'm new to arrays and functions.
#include<iostream>
#include<fstream>
#include<conio.h>
using namespace std;
int matrix1 ();
int matrix1 ();
int add ();
[Code] ....
View 2 Replies
View Related
Sep 16, 2014
I want to implement operator overloading for +=, so that the following arethmetic is possible for matrices: matrix += matrix
Here is how I have defined it in matrix.h
#ifndef MATRIX_H
#define MATRIX_H
#include <cassert>
#include <iostream>
#include <iomanip>
using namespace std;
template <class T> class Matrix;
template <class T> Matrix<T> operator+= (const Matrix<T>& m1, const Matrix<T>& m2);
[code].....
How do I implement this correctly?
View 7 Replies
View Related
Sep 15, 2013
I am currently trying to pass a matrix (multidimensional array) from my main into a function in a class. As usual, you have to include all array sizes, except the first. Unfortunately, the size saved under a variable. When I write it in the square brackets, it doesn't work.
Example:
//main
int main () {
int n = 5;
random object;
object.declare_variable(n);
int array [3][n];
object.pass_matrix(array);
[code].....
I also tried, putting the variable 'var' in the public section above the void and declaring it as static, but still there are error messages; fewer, in my case:
...not an integer constant
So what should I do? Id like to repeat that the int n will vary, which is why I can't just directly write down the size.
View 9 Replies
View Related
Feb 26, 2013
when i am running this program no errors are being shown but as soon as i press ctr+f9 to run the program my tc++ window closes.....
Code:
#include<stdio.h>
#include<conio.h>
void multiply(int m1[50][50],int ,int,int m2[50][50],int ,int );
void main() {
int i,j,m,n,p,q,m1[50][50],m2[50][50];
[Code] ....
View 4 Replies
View Related
Dec 4, 2014
I'm taking a programming class and currently we're doing data structures. Today, we discussed how to save square matrices column-wise with data structures. The teacher said that after the first few steps where you declare the structure, allocate the matrix, free it and get the dimension (which mostly make sense to me I think), you have to "get" and "set" the matrix by putting in something like
Code:
void setMatrixEntry(Matrix* A, int i, int j, double Aij) {
A->entries[i+j*A->m] = Aij;
}
[Code]....
View 7 Replies
View Related
Jan 2, 2014
I would like to program a simple finite element solver in c++ (I'm a relatively new programmer by the way). This is the issue, I have a text file with all the information of the model arranged in matrices; an input file would look something like this:
*nodes
1 0 0 0
2 10 15 0
3 17 2 0
4 -4 -1 0
*elements
1 1 2
2 2 3
3 3 4
*material
1 2.0e5 0.30 7.85e-9
2 7.0e4 0.21 2.11e-9
*loads
1 0 0 0
4 0 0 0
So, i want to read this text file and get each of the "*" matrices in its own array. The size of the matrices is not know.
View 1 Replies
View Related
Feb 27, 2014
I would like to create N matrices of dimension (n,k) simultaneously. Lets say for example that N=3. I read the command a[n][k][N] but I don't understand how to use it.
I know that for some of you this question is silly but I' m new to this language and I have noone else to ask.
View 1 Replies
View Related
Jan 7, 2014
Identity matrices are in the following pattern:
template<typename T, uint32_t X, uint32_t Y>
class Matrix;
template<typename T, uint32_t X, uint32_t Y>
constexpr Matrix<T, X, Y> genIdentityMatrix() {
[Code] .....
Just make believe that there isn't a problem with the order of declarations / visibility in the above code.
View 12 Replies
View Related
Feb 27, 2014
I would like to create N matrices of dimension (n,k) simultaneously. Lets say for example that N=3.
I read the command a[n][k][N] but I don't understand how to use it.
View 3 Replies
View Related
Jun 24, 2013
The program adds 2 matrices that are 3x3 using arrays and then stores them into another matrix (array) and then it's edited to show a diagonal line of "0" through it, btw I'm pretty new to programming....
insert
Code:
#include <iostream>
using namespace std;
int main() {
int x[3][3],y[3][3],c[3][3],i,j;
cout<<"Enter your numbers"<<endl;
[Code] .....
It works almost just fine lol, Except that the first portion of the diagonal line does not become zero and instead displays the normal addition result.....
View 5 Replies
View Related
Jul 10, 2014
I've been assigned to build a program which completes mathematical operations using matrices. I have to use dynamically allocated 2d arrays, and can only use * to dereference and not []. I have this code so far, but the multiply_matrix function does not work with most values. I've looked at other similar posts, which have a similar algorithm to mine, but mine does not work for some reason.
/*
*(*matrix(matrix+i)+j)
*/
#include <iostream>
//for sleep() which allows user to see messages before screen is cleared
#include <unistd.h>
using namespace std;
[Code] .....
View 1 Replies
View Related