C :: Variable Won't Change When Calculating Factorial In Euler Number Homework
Sep 27, 2014
I started to learn programming through this site two weeks or so ago. I've got a book with exercices and so on, and one of them involves calculating e within a tolerance given by the user.
The formula for calculating e is the summation of 1+(1/i!), where i -> n.
So, here's the code and I'll explain the problem below:
Code:
#include <stdio.h>
int main()
{
float error;
float terme;
float sumatori = 0;
int cicle_euler = 1;
int factorial;
[Code]...
For some reason, when I set factorial to cicle_factorial, factorial remains 0, which I find puzzling; the program always halts when 1 + sumatori is 2.0 no matter what error is.
This must be a common problem and I suspect it has to do with some distinction between variables inside a loop and variables outside it, but as I lack technical vocabulary I can't seem to find anything on Google.
I am supposed to have a loop that terminates when the difference between two successive values of 'e' differ by less than 0.0000001 (6 zeroes). So far I have written this much of the code:
#include <stdio.h> double eCalc(int terms, double e); int main() { int dummy; int terms; double e;
[Code] ...
It will not even run. Compiler code errors are as such:
error C4700: uninitialized local variable 'e' used
I am working on Euler Project exercise number 17. Here is the problem from the website.
"If the numbers 1 to 5 are written out in words: one, two, three, four, five, then there are 3 + 3 + 5 + 4 + 4 = 19 letters used in total.If all the numbers from 1 to 1000 (one thousand) inclusive were written out in words, how many letters would be used?"
the problem and my code is at the bottom, the thing is when i checked out what my change was, it was it was like -14.23 which is werid.
Write a program that determines the change that the user should receive after having paid for their purchase. Your program
prompts the user for the number of items purchased accepts the number of items purchased prompts the user for the unit price of each item accepts the unit price of each item calculates the total purchase price, including HST outputs the total purchase price prompts the user for the cash tendered accepts the amount of cash tendered calculates the change owed to the user outputs the number of loonies in the change outputs the number of cents in the change
You may assume that the user enters valid amounts and tenders enough cash to cover the total purchase price.
The output from your program looks something like:
Enter the number of items : 4 Enter the unit price : 3.15 Purchase price 12.60 HST (13%) 1.64 Total price 14.24 Cash tendered 20.00 Change loonies 5 Change cents 76
It is given an integer "p". I have to find a number "n" for which "n factorial" has "p" numbers of zero at the end. Here is the solution i thought, but i am not sure if it is a solution for this problem. Do i have to make a function to calculate the factorial and another function to get the zeros?
int p; int count5=0; int i; int copy_i; printf("Enter p: "); scanf("%d",&p); for(i=1; ;i++) {
I just want to practice in the language so i wrote this simple function that computes the factorial result of a certain number. The problem is that for all numbers > 20, the results are wrong ( < 20 all good).
I already learned that normal "long" type in c is more like 32 bit int and not 64 bit like a long type in java. so I used here a "long long" type.
why am I getting strange results above the number 20? isn't 64 bit enough to hold those numbers?
Code: long long factorial(int n); int main() { long long result = factorial(20); printf("%lld",result);
[code] ...
for 21 i get: -4249290049419214848
where the right result shoud be: 51,090,942,171,709,440,000
Write a C++ program that will input from the user a positive number n and find its factorial. Don’t forget to validate the input. The factorial of a positive integer n (denoted by n!) is defines as the product of the integers from 1 to n.
n! = 1* 2 * 3 * ... * (n - 1) * n
You should allow the user to continue working with your program for additional data sets.
Sample output:
Please enter a number: 5 5! = 120 Would you like to continue (Y/N)?Y Please enter a number: 3 3! = 6
Would you like to continue (Y/N)?N Good Bye!!
My code for what i think I'm doing is as follows:
#include <iostream> using namespace std; int main(){ int i=1; int n;
write a program that computes the factorial of a number and displays it. A factorial of a number (written N!) is defined as N * (N-1) * (N-2) * (N-3) ... *1 In other words, 5! = 5 * 4 * 3 * 2 * 1 = 120 and 3! = 3 * 2 * 1 + 6.
Example of output 15 is 1.30767e+012
Can't get it to display error when user enters a number lower than 2 or higher 60.
// Program to calculate factorial of a number #include <iostream> #include <iomanip>
I was given a question in my programming class to create a program to find the factorial of any number greater than zero and to use Gosper's formula to approximate it.
Code: #include <stdio.h> #include <math.h> #define PI 3.14159265 double equation(int n); int
I'm fairly new to C++ and have begun working with pointers. I wish to create am array called sigmaf_point that reads data from a text file. I have managed to get that working, but when it comes to using this pointer I come across some problems. The array is created as such:
I then create a coordinate system inside the main file, as the program I am writing is about modelling the movement of atoms, which requires you to know the coordinates:
Code: int main(); double **coords_fluid = new double*[5000]; for (int i = 0; i < n_atoms_methane; i++) { coords_fluid[i] = new double[4]; }
Now, the problem arises when I want to calculate a new variable as so:
Code: for (int i = 0; i <= n_atoms-1; i++) { sf1=sigmaf_point(coords_fluid[i][3]); }
I get the error C2064: term does not evaluate to a function taking 1 arguments, and a red line under sigmaf_point that says it must be pointer to function type. I am a bit confused about this.
I'm currently working on a program that calculates shipping charges. However I'm stuck, whenever I compile the program the total amount at the end always comes up as my flat rate variable and not the total calculated number.
I have a code that calculates the number of days between dates. It considers leap years and different days among months. The problem I have is when i debug the code nothing comes out.
Here is the code. #include<iostream> #include<fstream> using namespace std; bool wheep(); int daysinmonth(); bool wheep(int yr) { if (yr % 400 == 0)
I have a project that I am working on and I have gotten stuck. I am getting a couple errors and would like to see how I can complete the program. Not very long of a program at that. My instructions are:
Write a program to calculate averages. Create a method named ReadData that will load a two dimensional array, named scoresArray, with the following data from a file:
Create a method named DisplayAverages that will display the emplyee number (number starting 1324, 4356 etc) and the average of the three test grades. DisplayAverages will have one argument, the scoresArray. Your output should closely resemble the following.
Round averages to one decimal place. Passing arguments is important for this program. No global variables are allowed, except for the streamReader and the streamWriter. The scoresArray must be declared in Main and passed as an argument to the methods ReadData and DisplayAverages.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using LibUtil; using System.IO; using System.Text.RegularExpressions;
[Code] ....
When I run the following just to see where I am getting I get the following error:
UsersJoeDocumentsVisual Studio 2013ProjectsCIS110Program12Program12Prog ram12Dat.txt was opened Unhandled Exception: System.IndexOutOfRangeException: Index was outside the boun ds of the array. at Program12.Program.ReadData(Double[,] scoresArray) in c:UsersJoeDocument sVisual Studio 2013ProjectsCIS110Program12Program12Program.cs:line 66 at Program12.Program.Main() in c:UsersJoeDocumentsVisual Studio 2013Proj ectsCIS110Program12Program12Program.cs:line 24 Press any key to continue . . .
What am I missing here? I believe I have passed the arguments properly, but I am unable to declair the array within the bounds of the array?
I'm currently writing a poker game and am trying my best to avoid using global variables. I have a few variables in int main() which i was hoping to use to store the value of each players hand. I then created a function which calculates the value of the hand but cannot get this value back into the main function.
For example:
Code: #include <iostream> using namespace std; void getValue(int value) { value = 4;
[Code] ....
Is there any way i can get the value of value using this function? If not what can I do?
I am stuck at a problem where I have two pointers pointing to the same object, and I need to change an int on one of the pointers but point to the same object.
To be more specific, there is an array of Item objects. A long list of items a player can buy. Then, there is the player's inventory, a vector pointer. Whenever a player buys an item, it sets the pointer to the bought object.
The problem arises when he buys two of the same object. I tried to identify the objects with an ID, but it does nothing, because they are just pointing to the same object, and so I have no way of telling them apart.
This is further complicated by the fact that it is a polymorphic object. So, I can't simply make a new every time I buy an object, without making a hassle. Well, at least I am not familiar with that kind of code just yet.
So I have a template, part of a larger code, that is designed to calculate the number of multiplications it took to reach a certain number. The problem is, whenever I execute the program, mults is always printing out a strange number, perhaps its actual address.
template <class T> T power3(T x, unsigned int n, unsigned int& mults) { if (n == 0) return 1; if (n == 1) return x; if (n == 2){
I want to count number of words from my textfile and then make the first word ToUpper and second word ToLower and do that for the rest of the textfile.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace ConsoleApplication3 { internal class Program { private static void Main(string[] args) {
I'm trying to determine the number of times I have to change each specific character in a string to make it a palindrome. You can only change a character one at a time from the end.
Example: "abc" -> "abb" -> "aba" should print 2. "aba" will print 0 because it's already a palindrome. "abcd" -> "abcc" -> "abcb" -> "abca" -> "abba" will print 4 because it took 4 changes to make a palindrome.
I'm not too sure how to approach this - I figured out the case where if it's a palindrome (if reversed string is the same) then it'll print out a 0.
int main() { int number; cin >> number; //expecting a number for first line user input for (int i = 0; i < number; i++) { string str;