C++ :: Program To Complete Mathematical Operations Using Matrices
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;
I'm working on a class project, and I'm having a difficulty. Suppose I have: string a = "21" and string b = "30"; normally, a+b=2130 (i.e concatenation of the characters in the string) but suppose I want a+b=51 (i.e. numerical addition) how do I go about this?
changing a 9 digit integer into a new 9 digit integer through simple mathematical operations. For example, I need to change 123456789 into the new digit 456123789. Sometimes I need to change a 9 digit integer into an 8 digit integer. An example is 789062456 into 62789456. I can ONLY use simple mathematical operations (addition, subtraction, multiplication, division and modulo).
I'm having an issue with merging two files. Basically, my instructor gave me pseudocode and two files to merge together. Each file (a male client and a female client file) has three names and id numbers inside. The finished MergedClients.rtf should have all six clients in ascending ID order. I wrote the C++ code and after combing through a couple times to fix a few errors, it finally ran. The problem is it starts the process, but it doesn't ever finish.
I tried changing some of the bool expressions thinking I mixed up the true and false parts. After that the program ran and it created the new output file, but the file was empty. So, I don't think I mixed any of those expressions after all.
#include <iostream> #include <fstream> #include <string> using namespace std; int main(){ ifstream inFile1; ifstream inFile2;
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.....
I am using the gnu glpk library to calculate a linear program for my matrices. Why I get the error message exit code 3 which apparently means "The system cannot find the path specified"?
error C2440: 'initializing' : cannot convert from 'void' to 'std::basic_ifstream<_Elem,_Traits>' 1> with 1> [ 1> _Elem=char, 1> _Traits=std::char_traits<char> 1> ] 1> Expressions of type void cannot be converted to other types
Been trying for a while now to complete a physics degree first year computing task I've been assigned, which is to create a wordsearch solver to read to an array a wordsearch from a .txt file and find words in all directions (x+,x-y+ etc.).
I have a feeling the program is almost complete, but will stop looking for the word once the first character of the word has already come up. For example, if I'm searching for computer, and a c exists in an array element before it, the program will stop searching. I have included my code and the wordsearch file beneath.
Code:
#include <stdio.h>#include <stdlib.h> #include <math.h> #include <string.h> #include <ctype.h> //Used for the'toupper' functio int main() }
I need to extract full sentences from a file and the save them in a set. I tried getline to get a full line and then removed the characters after the period. This method doesn't work too well if the other half of the sentence is on another line. How should i fix this?
I need to take an array, and get the inverse of it (basically, just how you would take an inverse of a function in math). I need to do it where, if a[i] = x, b[x] = i. I would just copy from array a to array b in a function.
I need to open a pdf file (I used system("file_name.pdf"), and it worked). Next is that I want to copy complete content of the file (I want to execute ctrl+a). I want to give this command through my C program, then I will get the content of the windows clipboard having all the copied content.
#include <stdlib.h> #include <stdio.h> int main(){ /* opening a file */ system("results.pdf");
/////////////////////////////////////////////////////// /////copy the content in file (execute ctrl+a)///// ////// ------------------------------------- //// ///////////////////////////////////////////////////////
I've just started coding a "Mathematics" library for my own, just to practice some OOP concepts, but sadly I didn't get too far with it before the first errors appeared. That is, I created a Matrix.H and Matrix.CPP file (separate class) in a "Linear Algebra" folder.
However, when I run the code I get the following (linker?) error:
#include <iostream> #include "Matrix.h" using namespace std; int main() { Matrix<int> A(7,5); int row[] = {5, 10, 9, 11, -5};
[Code] ....
I am using Visual Studio 2012 (stating this in case it could be related to the reason for which I get the error).
I want to add mathematical expression in a binary tree but I have some problems with the algorithm. I found this one:
-If the current token is a '(', add a new node as the left child of the current node, and descend to the left child. -If the current token is in the list ['+','-','/','*'], set the root value of the current node to the operator represented by the current token. Add a new node as the right child of the current node and descend to the right child. -If the current token is a number, set the root value of the current node to the number and return to the parent. -If the current token is a ')', go to the parent of the current node.
Here is the code that I made so far:
template<class T> void Tree<T>::Expr(Node<T> *node, char expr[], int &i) { i++; T x = expr[i]; if(x == '(') { node = node->Left;
[Code] ....
I know that it is a big mess and it doesn't follow the algorithm but this is the problem. For example if the token is '(' I go to the left child of the current node. Then lets say that the next token in the expression is a number. I add this number to the current node and I must go back. But how can I go back to the parent? I will go back to line 13 and the program will end. What should be the structure that I must use?
I wrote a program that tries to tokenize a mathematical expression, inserting the tokens in a list of strings. The list is as follows:
typedef struct listOfStrings { char **array; int size; } ListOfStrings;
There is even a function to initialize the listOfStrings. The thing is: I'm printing a token every time it is complete and every time it is inserted in the list. The output is okay. However, when all tokens are processed and I call function print_list_of_strings to print the tokens again, the first token is printed with a leading garbage value if the input for the program is "3 + 4 * 2 / ( 1 - 5 ) ^ 2 ^ 3". How is this possible? The code for printing the list is as follows:
void print_list_of_strings( const ListOfStrings *const lPtr ) { int i; int numberOfElements = lPtr->size; if ( numberOfElements != 0 ) { for ( i = 0 ; i < numberOfElements ; ++i ) {
[Code] ....
The list just prints --- if it's empty, although this isn't the case for the program I'm writing. Also, if the input is "1 + 2", everything goes fine. The code for inserting at the list is:
int insert_at_end_of_list_of_strings( ListOfStrings *lPtr, const char *const str ){ int lengthOfStr = strlen( str ); int numberOfElements = lPtr->size; if ( ( ( *( lPtr->array + numberOfElements ) ) = ( char * )malloc( ( lengthOfStr + 1 ) *
I want to program an advanced calculator. I'd like to enter some more complex expressions like -17+3*4*(4-sqrt(4) and i want, that mathematical operations are done the correct order, so at first 4-sqrt(4) is calculated, then 3*4*2 and then -17 is subtracted.
Problem 1: Convert a string into a mathematical calculation Problem 2: Calculate in the correct order
How would I do that (I dont expect perfecly precoded calculators from you, just the way how to do it)
Google search just delivers primitive calculations with entry methods like
Enter first number 1 Enter operator + Enter second number 2