C/C++ :: Incrementing Float Numbers
Sep 25, 2014I need to make a program in which the output must be like:
I=0 J=1
I=0 J=2
I=0 J=3
I=0.2 J=1.2
I=0.2 J=2.2
I=0.2 J=3.2
.....
I=2 J=?
I=2 J=?
I=2 J=?
I need to make a program in which the output must be like:
I=0 J=1
I=0 J=2
I=0 J=3
I=0.2 J=1.2
I=0.2 J=2.2
I=0.2 J=3.2
.....
I=2 J=?
I=2 J=?
I=2 J=?
scanning a file with both words and INT's/Float numbers. This is the file data here.
15 25 200
3 10
17.99 22.99 109.99
100 2 4
5.99 99.99 20.00 49.99
10 10 10 10 10 10 10 10 10 10
3.99 5.99 7.99 8.00 5.00 5.00 5.00 6.00 7.00 9.99
[Code]...
What I'm focused on is reading in the first three numbers which I already have with fscanf and then reading in BUY TICKET with the digit afterwards. My problem is that I don't know how to reach that part of the file without scanning in something I don't want to. Also, how would I scan the number after scanning BUY TICKET? Would it be something like using %s and %d right afterwards?
So I have a double array, where I'm inputting float numbers to certain points in an array. Sometimes, the numbers that are printed out are completely different from what I put in.Here is the part of the code:
Code: .
while( token != NULL ) {
num = atof(token);
test[j][i] = num;
printf( "
%s, i is %d, j is %d
", token,i,j );
printf( "number is %f
value test of i,j is %f
[code]....
Why the float num prints out fine, but when put into an array becomes garbage?I'm taking string values from a csv file and turning them into floats, but no problems seem to crop up there.I reset i when appropriate and increment j when needed, so I don't think my problems are from incorrect array values (though they might be)
I have a simple input output problem using float point numbers and after the first input the program skips the other cin functions is there something that I did wrong? It compiles fine also.
Code:
#include <iostream>
#include <float.h>
using namespace std;
int main() {
int x;
int y;
int z;
[Code] .....
I was working on float and double data types and to see the results i wrote this program:
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
int main() {
ofstream outputF("output.txt");
double a = 1;
double outcome;
[Code] ....
Well I understand the part it cannot store infinite numbers. but if you take a look at the output for example (since it is too long i just added some of the outputs)
//---------------------
for the value of : 001
1
//---------------------
for the value of : 002
0.5
//---------------------
for the value of : 003
0.3333333333333333148
[Code] ....
if you look carefully at the value "5" and "10" results. it is awkwardly abnormal. which is something i couldnt understand. also it is the same with value "20", "25", "40", "50" and so on.
I have to complete a project that i want to read float numbers from keyboard and store them into an array of 10 elements.! Every time that a number stored into array i want to compare with previous one if they have +-10 difference .. I want to keep only 10 elements into my array so every time that i give value a[0] replace a[1], a[1] replace a[2],a[2] replace a[3]. . . .and a[10] deleted.. So when all elements of the array are similar with +-10 values print out the array.!
View 1 Replies View RelatedI need to write a program that reads four float numbers from the input.txt file, then it prints out the greatest of the four numbers into the output.txt file. I did everything, but the numbers don't print out.
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream inFile;
ofstream outFile;
float number1, number2, number3, number4;
[Code]...
How would I be able to have this display the rest of the households without having to have 13 separate cout lines(one for each household)? In other words, how can I set it up to increment the output?
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
struct Household {
int idNumber;
int income;
[Code] ....
i wish to generate all possible key combinations ranging:
HEX: "0F FF FF FF FF FF FF FF" TO HEX: FF FF FF FF FF FF FF FF
i also test each key after incrementing by 1, for test i want the key to be a an unsigned char[8]
key start rang and end range can be initialize/declare in any format.
Problem is if :
unsigned char key[] = {0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
then i can not increment this key by +1 , though if i initialize this key in decimal as:
unsigned long long key = 1152921504606846975;
then i can increment the key in for loop by key++ but then i cant convert it back into unsigned char array
i want to achieve something like this :
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
unsigned char key[] = {0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
int main()
{
[code]...
In my programer i also have function that test each key but key has to be unsigned char...
I am using DirectShow to play/pause/stop a video file. I am having a slider control which increments with the playing video. I have done some calculation to find the exact step to forward or backward the video.
On dragging the slider to any position, video forwards/backwards to the new position, but slider doesn't get increment. Say I drag the slider from 10 to 50, video goes to the new position, but on releasing the capture slider again jumps back to the previous position from where it was dragged.
I can do the folowing:
float var1 ;
var1 = 9.12345 ;
printf("%.2f",var1) ;
the output will be 9.12. What if I wanted to save that as another separate float with displaying it on screen?
#include <iostream>
#include <string.h>
#include <sstream>
[Code]....
I am forking 3 times in a loop like this but the variable "count" does not increment, it stays on '1' and therefore this is an infinite loop, and this simple thing dont make sense to me.
I have checked so that the pointer address is the correct one every loop.
Code:
void increase(int* x) {
*x += 1;
}
main() {
int pid, i, number = 0;
[Code] .....
Main
#include <iostream>
#include "item.h"
#include "inventory.h"
#include <stdlib.h>
#include <string.h>
#pragma GCC diagnostic ignored "-Wwrite-strings"
[code]....
what I would want to happen is is have my item increment in size/count instead of a new object. How would you handle this algorithmically.
I am using a pair of pthreads that call a pair of functions for ping-pong dma data transfer that are used in a loop for data transfer from an acquisition board. For a large # of waveforms, I ultimately run out of PC memory and the program stops. At the end of each function I use the delete[] command to clear memory for reuse, but the pointer appears to advance by the array size used for the transfer until the location exceeds the 2 GB I have for memory. I can see this happening using the Task Manager performance button time plot and window of total memory used continuing to increase to the limit. The culprit for one of the functions (2nd) is:
unsigned char* dataBuffer2 = (unsigned char *) (pci_buffer2.UserAddr);
where pci_buffer1 and 2 have been set up and allocated in main. I also had the following line in each function process:
double* Rin = new double[length];
and it used up memory twice as fast. When I transferred the last line to an area just prior to main and used a constant 1024 for length, the program ran twice as far before exceeding system memory, so it appears that both lines were forcing new memory assignments and moving the pointers accordingly. In addition to using the delete[] command to free memory unsucessfuly at the end of each function procedure, I ended up closing the memory at the end of each procedure, then reallocating it again with the idea that the pointer would be set back to the original value, but it still seems to icrement along. So, neither approach appears to allow reuse of the memory because the pointer continues to march along. Using Visual C++ 6.0 to compile.
I'm trying to increment the values in a vector, not the vector size, based on variable input. Basically I have a vector of size 10, and all of its values are initialized at zero. The program counts the frequency of numbers 0-9 in a four digit user input. This is what I have (I want it to work so badly but the compiler says that I'm using a pointer to a function used in arithmetic):
for (int i=0; i < num_slots; ++i) {
++guess_frequency[guess[i]];
}
I just want to know if you can increment values within a vector:
E.g.
change
0 0 0 0 0 0 0 0 0 0
to
1 0 0 0 2 0 0 1 0 0
This is a command line lotto program. My first problem is trying to increment letters per line of the array. So for example, if the user types: ./mega_million 10
The output would be something like:
Mega Million
________________Mega
A 17 30 32 33 38 30
B 14 21 23 45 52 16
C 03 08 17 42 44 30
D 01 11 27 35 45 29
E 07 12 16 32 46 06
F 17 39 50 52 53 44
G 13 32 49 52 53 39
H 16 41 53 54 55 11
I 14 45 46 53 54 28
J 36 37 42 53 55 39
Here's the code I have written so far:
int main(int argc, char *argv[]) {
void rowLetters(char);
void generator(int[]);
void bubble_sort(int[],int);
string to_s(int);
string pad_zero(int);
[Code] ....
The second problem is splitting the output.. displaying 10 lines each ticket. So for example, if the user types: ./mega_million 12
The output would be something like:
Mega Million
________________Mega
A 17 30 32 33 38 30
B 14 21 23 45 52 16
C 03 08 17 42 44 30
D 01 11 27 35 45 29
E 07 12 16 32 46 06
F 17 39 50 52 53 44
G 13 32 49 52 53 39
H 16 41 53 54 55 11
I 14 45 46 53 54 28
J 36 37 42 53 55 39
Mega Million
________________Mega
A 12 13 25 31 39 30
B 03 13 20 45 55 36
I have a question here
How I want to convert an int to float in the middle of the program
#include <iostream>
using namespace std;
int main()
{
int x;
float y;
cin>> x;
y= (float)x;
cout<< y;
}
is this line correct y= (float)x;?
determining if a value entered in loop is an odd or even number. Also, the value can't be int because it may be a decimal value(therefore i cant use the if(x%==0).
I need to replace the if(value%2 ==0) else num_even++ statement in my code with something else that will work with float to determine odd vs even.
#include <iostream>
using namespace std;
int main() {
int num_values;
float sum_values = 0;
int num_neg_values = 0;
int num_pos_values = 0;
[code]....
this is my code
#include<stdio.h>
main()
{
[Code]....
N=1st number M=2nd number(accrding to my prof we will name it N and M
ctr= increment of factorial of N, ctr2= increment of factorial of (N-M)
the problem is when i got the factorial of N / factorial of (N-M) i need to get the last non zero digit. so i use mod if it has zero in it. but mod can be only used with an int value. and when i change it to int value, the value of fact1 which is a float change
I am looking for a math/big num library, that allows me to convert 32/64/80 bot float numbers to string and vice versa.
Precision & accuracy is of importance here, and since this is an IEEE standard, i have high hopes that there are libraries for this out there, which would save me the hassle of trying to implement this myself...
I am working from my "ansi c" book by steven lawlor, page 73 program 2. write a program that accepts two numbers from the keyboard and prints the following information.
variables
first
second
execution
First number ? 7
Second number ? 2
the second goes into the first 3 times
with a remainder of 1.
the quotient is 3.5.
Code:
#include <stdio.h>
main() {
int first, second;
scanf(" %1i %1i", &first, &second);
printf("First number ? %1i
[Code] ....
//I included this as I had some error message come up
// before, not sure if this is correct though?
} it shows what is expected but I cant get the 3.5.
I have tried %f and variations of width/precision but still not luck. Also, when I click on the application and put in the variables I press enter, the program executes and disappears so I cant see the result. how do I get the program to stay up until I want to get rid of it?
I just checking but confused with float. in that code same size int, and same type double are working but float showing nothing in printf..why?? i'm using GCC compiler int 32bit win7 os
Code:
#include <stdio.h>
int main() {
char arr[10] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
printf("Size of char=%c
", ((char *) (&arr[0]))[1]);
[Code] ....
I have a float values I'd like to round off to the nearest integer value.
That is to say, if the float value is 44.234533, the integer value should be 44. If the float value is 44.682101, the integer value should be 45.
How do I do this?
why does the following code output "0.000000" instead of "1.000000"?
Code:
#include <stdio.h>
int main(void) {
int x=3, y=2;
printf("3/2 is %f
", x/y);
return 0;
}
the code was compiled and run using gcc 4.4.7 and glibc 2.17 on linux kernal 2.6.32 running on a PC with an intel i5-2500k cpu(sandy bridge)
I am entering numbers to float ... I want program to find out, which first number is not from specific interval. How to do it ? Example: Enter input : 5 10 20 30 50 46 . 30 is invalid. Here is the code :
Code:
while(scanf("%f",&input)!=EOF || input==0) {
sum=input+sum;
if (getchar() == '
[Code]....