C++ :: Vector Comparison Out Of Range?

Jul 31, 2013

I'm making a simple game and I'm having trouble creating boundaries for the players movements. The map is a 2D vector. When I compare the vector with the players current position sometimes I get an error during run. When the error isn't occurring the behavior of the boundaries is bizarre. The error tells me that the vector is out of range.

Here is the where the map is created. It's within its own class constructor.

vector< vector<char> > map_parts;
map_parts.resize(25);
for ( int i = 0; i < 25; i++ )
{

[Code].....

View 1 Replies


ADVERTISEMENT

C/C++ :: Double Comparison For Range Is Not Working Correctly

Mar 17, 2015

I am trying to compare a double to be within various ranges, but the comparison is not working correctly. Rounding precision is not a concern, because if the value will match the boundaries so rarely, and it is rounding up to the higher range is acceptable. Below is the doe at issue:

if (kq == 2) {
if (fundt[kq-1][ky-1][2-1] < 450,000,000.00) ktti[ky-1][0] = 1;
else if ((fundt[kq-1][ky-1][2-1] >= 450,000,000.00) && (fundt[kq-1][ky-1][2-1] < 525,000,000.00)) ktti[ky-1][0] = 2;
else if ((fundt[kq-1][ky-1][2-1] >= 525,000,000.00) && (fundt[kq-1][ky-1][2-1] < 650,000,000.00)) ktti[ky-1][0] = 3;
else if ((fundt[kq-1][ky-1][2-1] >= 650,000,000.00) && (fundt[kq-1][ky-1][2-1] < 750,000,000.00)) ktti[ky-1][0] = 4;
else if ((fundt[kq-1][ky-1][2-1] >= 750,000,000.00) && (fundt[kq-1][ky-1][2-1] < 850,000,000.00)) ktti[ky-1][0] = 5;

[Code] ....

I know that a triple-dimension array looks complex, but I can guarantee that is a double. The literal constants I am using should automatically be doubles. The subscript of [2-1] looks odd, but this is code I was given to maintain, and that is how it is written elsewhere, so I kept it for consistency. The problem I am having is that when I run this code, all the data I input is less than the 450 million value, but the run falls through all the if and if-else conditions, and the else code is what is actually executed, i.e., I always get six as my result.

I am running on a Sun Sparc, and the compiler used is SunStudio 12. I have tried using variables, with the values listed above assigned to each variable, but it does work either. When I use variables, if the input value is negative, the comparison for less than 450 million works, but any positive input values will through to the else and give me six.

View 1 Replies View Related

C++ :: Vector Subscript Out Of Range?

Aug 18, 2014

I keep getting this "Debug Assertion Failed" error that says:

expression: vector subscript out of range

I tried to make the loop the same as the vector size, but I'm still getting the same errors.

void Grid::output(ostream & out) {
vector<vector<int>> grid(4);
int rows, columns;
out << " 0 1 2 3 " << endl;
out << " +---------+" << endl;
for( rows=0; rows<grid.size(); ++rows ) // make each row

[code]....

View 3 Replies View Related

C++ :: Vector Out Of Range Exception

Jul 18, 2014

I'm trying to do some operator overloading, the function is supposed to add the values at index [i] of two vectors and place the result in the returning vector. The problem is I keep getting a vector out of range. This is the overloaded operator I'm working with (relatively new to these):

vector<float> operator+(const vector<float>& a, const vector<float>& b){
unsigned long size;
vector<float> temp;
if(a.size() >= b.size())
size = a.size();

[Code] .....

and then I would do something like this in the main:

vector<float> v, v1, v2;

v1.push_back(9.1);
...
v2.push_back(8);
...
v = v1 + v2;

but when I try to output the vector v I just get a vector out of range exception.

View 5 Replies View Related

C++ :: Vector Subscript Out Of Range - No Errors

Feb 13, 2013

When i build this program i get no errors, however a message appears saying vector subscript out of range. What does this mean and what can i do to mkae my program work

#include <iostream>
#include <ctime>
#include <cstdlib>
#include <iomanip>
#include <cstring>
#include <time.h>
#include <vector>
using namespace std;

[Code] .....

View 19 Replies View Related

C++ :: Passing Sub-range Of A Vector By Reference

Dec 18, 2012

Suppose I have a stl vector of ints, and I want to pass a sub-range of that vector as an argument to a function. One way of doing that would be to copy the sub-range, and then pass that copy by reference, as follows:

Code:
#include <vector>
using namespace std;
int MyFunction(vector<int> &a_vector) {
// Do something
return 0;

[Code] ....

However, it can be time-consuming to copy the elements between the two vectors if my_vector is large. So I'm wondering if it is possible to directly pass a sub-range of my_vector by reference, without having to create a new vector and manually copy over all of the relevant elements?

View 4 Replies View Related

C++ :: Vector Subscript Out Of Range Even With Item In Container

Oct 17, 2014

I will try my best to describe this problem I am having because I am not sure if I can reproduce the error in a small code example as this is part of a large code project.

I have a plain std::vector which contains pointers to objects.

When attempting to delete the objects, even if I know for a fact that the std::vector has at least one object in it as shown by the debugger, I get the "Vector Subscript Out of Range" error.

I'll even do a range for loop like so:

for (auto & e : CurrentObjects) {
delete e;
}

And yet I still get the "Vector Subscript Out of Range" error. The destructor is never called for the object represented by "e" so I am not sure why I get the error.

View 4 Replies View Related

C++ :: Normal Distribution Range - Select Objects On A Vector

May 23, 2014

I'm implementing an normal_distribution to select objects on a vector. The thing is I can't use values greater then 1 or less then -1. Here is what could be done:

gausx=gaus_distributionx(generator);
while((gausx>1) || (gausx<-1))
gausx=gaus_distributionx(generator);

The question is if the distribution would loose it's power to be a normal distribution, because some of the gerated numbers wouldn't be used. Any way to set ranges for the distribution?

View 6 Replies View Related

C++ :: Generate Random Integers In The Range And Store Them In A Vector

Sep 3, 2014

You are to write a C++ program to generate random integers in the range [ LOW = 1, HIGH = 10000 ] and to store them in a vector < int > of size VEC_SIZE = 250. Then, sort the contents of the vector (in ascending order) and display it on stdout.

To sort the contents of a vector, use the sort ( ) function from the STL. In addition to the main ( ) routine, implement the following subroutines in your program:

• void genRndNums ( vector < int >& v ) : This routine generates VEC_SIZE integers and puts them in vector v. Initializes the random number generator (RNG) by calling the function srand ( ) with the seed value SEED = 1, and generates random integers by calling the function rand ( ).

• void printVec ( const vector < int >& v ) : This routine displays the contents of vector v on stdout, printing exactly NO_ITEMS = 12 numbers on a single line, except perhaps the last line. The sorted numbers need to be properly aligned on the output. For each printed number, allocate ITEM_W = 5 spaces on stdout.

Programming Notes:

• You are not allowed to use any I/O functions from the C library, such as scanf or printf. Instead, use the I/O functions from the C++ library, such as cin or cout.
• Let v be a vector of integers, then the call: sort ( v.begin ( ), v.end ( ) ) sorts the elements of v in ascending order. The detailed description of the sort ( ) routine can be found on the course web site and in the course textbook.
• Execute the srand ( ) function only once before generating the first random integer with the given seed value SEED. The rand ( ) function generates a random integer in the range [ 0, RAND_MAX ], where the constant value RAND_MAX is the largest random integer returned by the rand ( ) function and its value is system dependent. To normalize the return value to a value in the range [ LOW, HIGH ], execute: rand ( ) % ( HIGH – LOW + 1 ) + LOW.

View 1 Replies View Related

C++ :: Vector Subscript Out Of Range Error Whilst Debugging

Apr 21, 2014

I have the following code. however, when I debug it gives an error saying" vector subscript out of range"

Vector based mufti-dimensional arrays

Vectors are a STL container that allow you to store pretty much anything in them. When used correctly they can be very powerful containers.

They provide an added benefit that they will automatically remove the memory they use when they go out of scope. This means that objects stored within a vector do not need to be de-allocated (but pointers to objects do). You can also do some interesting things with dynamic multidimensional arrays with vectors.

For example, if you only allocate the first dimension, then use the .push_back() to add records to the 2nd dimension it's no longer a grid, but an array with a dynamically sized 2nd dimension (much like a street of buildings each with a different amount of floors).

This functionality can be achieved using pointers, but is much harder to do.

#include <iostream>
#include <vector>
#include<conio.h>
using std::vector;
using namespace std;

[code]...

View 8 Replies View Related

C++ :: Read Some Numbers From Input File - Vector Subscript Out Of Range

Nov 3, 2013

My project's goal is to read some numbers from input file,then create a grid.my input file is:

2 3
3 4 5
1 2 4

first line is rows and colums. second and third line the grid location values.My code is

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
#include<vector>
using namespace std;

[code].....

View 7 Replies View Related

C++ :: Comparison Of Two XML Files?

Feb 2, 2015

I need a program that can compare two xml files for equivalency using any XML Parser.

View 2 Replies View Related

C/C++ :: Comparison Of Excel And CSV

Mar 6, 2012

I have to compare data in excel and csv based on the file name and update the status of file from CSV into excel file by creating a new column status on weekly basis.

View 1 Replies View Related

C++ :: Overloading Comparison Operators For Using In A Set

Oct 30, 2014

I have a small piece of code that used the set::insert function on a set of myClass. For that, I need to overload the < and > operators, which I have, but I still get a huge error saying it can't compare.

set<MyClass> mySet;
MyClass myClass

All the class information gets filled in. Then, I try to insert...
mySet.insert(myClass);

bool operator<(MyClass &lhs, MyClass &rhs) {
return lhs.name < rhs.name; //name is a string
}

The error says
...stl_function.h:230:22: error: no match for 'operator<' in '__x < __y'
MyFile.h:80:6: note: candidate is bool operator<(MyClass&, MyClass&)

View 5 Replies View Related

C++ :: Comparison With Uppercase / Lowercase?

Jul 28, 2014

I have this statement - while(strcmp(x[i],"Stop")!=0); - is there anyway to compare x[i] to all the possible forms of "stop" (Stop, STOP, sTop, etc)?

View 4 Replies View Related

C/C++ :: Overloading Comparison Operators

Aug 28, 2014

I made a program that allows the user to enter information of credit cards on an array of size 5, however I need to allow the user to compare the five credit cards with each other and I am having problems with this particular part. I made my bool operator functions for the operator< and the operator> but how to make the user be able to select which cards he wants to compare and how to compare them. My code is the following:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
const int SIZE = 5;
enum OPCIONES {CARGAR=1, ABONAR, NADA};

[Code] ......

View 2 Replies View Related

C/C++ :: ISO Forbids Comparison Between Ptr And Int For Types

Jul 14, 2014

This is some code that simulates files and directories the same way an operating system does so. I commented out every std::string occurrence because I got the :

terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create

View 3 Replies View Related

C++ :: One Letter Of A String Comparison

Jan 21, 2013

I just would like to turn this into cpp:

string eg("azertyFTW");
if(eg[one of the letters contained in this string] == 'c') {
cout << "eg has the letter c in it";
} else {
cout << "not this time :(";
}

View 4 Replies View Related

C++ :: Sorting A Map By Custom Comparison?

Jan 8, 2012

so i have a std::map like this:

map<DWORD,DWORD> mymap;

now i want to sort it by the second DWORD value, and thus i have to implement my own comparison function and use sort() from <alogirthm>:

Code:
bool y(const map<DWORD,DWORD>::iterator& a, const map<DWORD,DWORD>::iterator& b)
{
if(a->second < b->second)
return 1;
else
return 0;
}
...
sort(mymap.begin(), mymap.end(),y);
...

but this throws thousands of errors at me, including C2784.

View 14 Replies View Related

C++ :: Comparison Of Two Strings (case Insensitive)

Apr 27, 2013

bool simpleQuestion::checkAnswer(string guess) const {
for (int i=0;i<qAnswer.length();i++)
if (qAnswer==guess)
return true;
else
return false;
}

This is my code and what im trying to accomplish here is making the comparison of the two strings (qAnswer & guess) case insensitive. I know i need to loop through each character of each string and for each character i can use toupper and every char in each string will become uppercase and therefore case insensitive. However, im not sure how to go about this; if any technique used to loop through each character of the string and how to use to upper.

View 2 Replies View Related

C++ :: ISO Forbids Comparison Between Pointer And Integer

Apr 21, 2013

I am trying to make a program that prints out an 8 by 8 board with 1 queen on each row.

For example, if the user enters: 0,3,4,0,0,7,6,7

the program should create following board and print:

Q.......
...Q....
....Q...
Q.......
Q.......
.......Q
......Q.
.......Q

I think I am doing it right but im getting a couple of errors that i cant fix ...

#include <iostream>
using namespace std;
int main(){
int x [8] [8], r, c;
for(c = 0; c <= 8; c++){
cout << " Enter a number from 1 to 7 " << endl;

[Code] .....

these are the errors :

assignment15_meem.cpp: In function âint main()â:
assignment15_meem.cpp:7: error: no match for âoperator>>â in âstd::cin >> x[c]â
assignment15_meem.cpp:10: error: ISO C++ forbids comparison between pointer and integer

View 7 Replies View Related

C/C++ :: Sorting Algorithms And Comparison Count

Jan 30, 2014

I am trying to count the number of comparisons for each of the following sorting algorithms, Selection, Insertion, Bubble, Merge, and Quick sort. This is using an array of numbers that are sorted, reversed, and randomly arranged.

I currently increment the "number of comparison" variable before every conditional statement that compares two numbers and am getting the following results:

Number of Items in Array = 100
Selection: random = 5049; reverse = 5049; sorted = 5049;
Insertion: random = 2640; reverse = 5049; sorted = 99;
Bubble: random = 9207; reverse = 9900; sorted = 99;
Merge: random = 1221; revere = 988; sorted = 1028;
Quick: random = 690; revere = 587; sorted = 636;

View 1 Replies View Related

C/C++ :: ISO Forbids Comparison Between Pointer And Integer

May 4, 2014

template <class ST>
bool OrderedSet<ST>::IsIn (const ST & value) const {
for (LNode * np = first; np != NULL; np = np -> next)
if (np -> next == value)
return true;
return false;
}

View 1 Replies View Related

Visual C++ :: Comparison Of 2 Double Values

Dec 27, 2013

I have std::vector of players and each player have its own value. The value is of the type double, but the original value are of the "XX.00".

Now what I'm trying to do is to insert a player into this vector. For that I need to find a place and to find a place I need to compare player value.

So lets say I have a player in the vector whose value is 24.00 and I am trying to insert a player whose value is 25.00. To my surprise MSVC 2010 tells me that:

24.0000000000000 == 25.00000000000

I do aware that comparing double type is not going to work like this, but I would expect not to have such big of a difference. ;-)

Why this comparison is true and how to eliminate such thing?

View 3 Replies View Related

C++ :: Map Comparison Fails In Function Const

Jan 27, 2012

Why I'm getting an error here. I've dumbed down my code for simplicity and removed irrelevant code.

PHP Code:
class Foo {
    public:
        bool IsNull() const;
    private:
        std::map<int, int*> test;

[Code] ....

I'm getting a "passing...discards qualifiers" error on my if statement and not sure why because I'm not changing anything. I know removing const or making test mutable fixes the issue. I've been taught to always make a function const if it doesn't change anything, in which case, have I finally come across an acceptable time to use mutable?

View 9 Replies View Related

C++ :: How To Compare Two Files And Display Their Comparison Percentage

Feb 10, 2013

How to compare two files(two texts documents) and display their similarity percentage by using C++?

View 10 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved