C++ ::  String Subscript Out Of Range / For Loop Conditions All Look Good

Apr 4, 2014

Im having a problem with my sneaky hangman game I feel like im really close just getting an error I can't fix. When I run it, it says something like string subscript out of range when I goggled it. it says im searching past the bounds of what it should be or something.

Also a dictionary.txt file is needed to run the program

code: [URL]

#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;
int guessesUsed = 0;
int wordlength;

[code]....

View 3 Replies


ADVERTISEMENT

C++ :: String Subscript Out Of Range

Nov 3, 2013

I've been debugging this program since yesterday and I continue to run into a string subscript error. I pasted the code in a pastebin (it's only 400 lines), to see why I'm getting this. The problem seems to come up during a debug assertion failure.

[URL] ....

View 5 Replies View Related

C++ ::  String Subscript Out Of Range

Feb 26, 2014

whenever I try to use either <string> or any STL container. Everyone I saw so far, says that "using a .reserve(n)" before adding items to random positions is enough. However, each time I run the code, I still get the same error, unless I actually write the memory with some initial data, and only after access random positions.I am fully aware of the fact that the STL containers and <string> are dynamic data types and memory allocation is done dynamically. However, if I need to allocate all those memory slots before knowing how many I need, would lead me to the same memory complexity as using a char [] array (which is static -- size declaration at first).

how is it possible to keep the <string> dynamic, while being able to add elements on random positions (if possible). I know the strings have the ending char '', but there should still be something that would allow it to work. Okay, long story short, here is my example. I am trying to read from file rows of data. The first char on each row represents a normal char c. The rest of the row is a string which contains numbers (integers between 1 and 250) which represent the position at which the char c (read before) will have its location.

For example the input file:

#include <fstream>
#include <deque> // for later use
#include <string>
#include <sstream>
#include <algorithm> // for later use

[code].....

The program works perfectly, if instead of text.reserve(250); I use text.resize(250);. However, what is the difference between the two? I mean, why isn't reserve enough?

View 3 Replies View Related

C++ :: Palindrome - String Subscript Out Of Range

Jun 13, 2014

I am trying to create a simple palindrome program. I get the error string subscript out of range. I believe the error is either in the while or for loops.

#include <cctype>
#include <string>
#include <iostream>
using namespace std;
//cleans string, converts to lower
bool cleanTolower(const string& s);

[Code] ....

View 2 Replies View Related

Visual C++ :: Error / String Subscript Out Of Range

Nov 3, 2014

I have an assignment where i have to prompt the user to enter the name of a file then open that file and read names of students and what level they are at university

eg : John Wilkins, sophomore
Dan Robertson, junior
etc..

i did the code and it compiles perfectly, but when i input the name of the file it gives me error: string subscript out of range.

here's the code:

Code:
#include <iostream>
#include <cstring>
#include <string>
#include<ctime>
#include <fstream>
using namespace std;
int * read_file(string filename)

[code]...

View 2 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++ :: Getting Error (Array Subscript Out Of Range)

Feb 15, 2015

I've been getting this expression of "subscript being out of range" for my program but i'm not sure how exactly. I'm fiddling around with code, i'm trying to make a two dimensional array of random numbers, here is my code, it compiles just fine:

Code:

#include <iostream>
#include <array>
#include <random>
#include <cstdlib>
#include <iomanip>

[Code] .....

View 1 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++ :: 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++ :: 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 :: Do While Loop Fails When More Conditions Are Added

Mar 29, 2014

I'm trying to write a piece of code that calculates the difference in days between two manually input dates. The part of my code that's causing problems is:

xxx

When running the code and prompted to enter the date, if I input for example 31/12/2014, it'll be rejected and send me back to the beginning of the loop. Any date with 31 days involving months 1, 3, 5, 7, 8, 10 or 12 causes this problem. All other valid dates however work perfectly fine (e.g. 30/4/2014).

Something possibly worth mentioning is that, when I take out all other conditions from the loop, i.e.

xxx

it works fine (31/12/2014 is accepted), but of course I need all of the other conditions in there too.

View 1 Replies View Related

C++ :: Range Based For Loop In GCC 4.6.3

Apr 10, 2013

I would like to try out a range based for loop. I am using gcc 4.6.3. According to the link below, gcc 4.6.3 should allow me to use a range based for loop.

[URL]

However when attempting to run the code below, my IDE (Eclipse) reports the following error:

"error: #error This file requires compiler and library support for the upcoming ISO C++ standard, C++0x. This support is currently experimental, and must be enabled with the -std=c++0x or -std=gnu++0x compiler options:

int a[5] ={1,2,3,4,5};
for (int x : a) {
cout<<x;
}

If gcc 4.6.3 supports range based for loops why do I get this error?

View 1 Replies View Related

C++ :: Reset Range Based For Loop

Apr 23, 2014

In the traditional for loop, you could make the loop start again by resetting the int value

for (int i = 0; i < 10: ++i){
//Do something
i =0;
}

Then it would start the loop again. However I can not seem to find a way to do this with the range based for loop. Is there anyway to force a range based for loop to start from, i = 0 ?

for(const auto &i : vec){
//Do something
//Restart for loop
}

View 9 Replies View Related

C++ :: Good Object Oriented Approach To Meshing?

Aug 6, 2013

I'm a newbie to C++ and I've been working on this Delaunay tree in C for some time. I'm ready to port it to C++ which does not mean that the code itself is completed or done.

But I was wondering, how could I design my code to fully utilize C++?

For one, I'm using C++'s built-in stack/queue/vector functions because it's a lot nicer than building my own stacks or queues lol.

So, here's an overview of the code.

The mesh is built of tetrahedrons so I have a "struct tetra" which stores pointers to vertices ("struct particle") and its 4 neighbours. Working in half-plane data, we have:

Code:
struct particle {
double x, y, z;
};

struct tetra {
struct particle *p[4];//vertices
struct tetra *ngb[4];//neighbours

double a[4], b[4], c[4], d[4];//half-plane data
};

I'm fracturing these tetrahedrons by inserting vertices so I can get anywhere from 2 to 4 children per fracture per tetraheron. I'm mapping this history to a quadtree. This looks like :

Code:

struct tree {
int level;
struct tree *parent;
struct tree *children[4];
struct tetra *t;
};

What would be the best OO approach to this problem?

I thought about just using this object,

Code:
struct mesh {
struct tree *root; //pointer to root
/* insert all functions to be used by mesh here */
};

But I'm not sure how effectively this would be taking advantage of the OO paradigm.

View 4 Replies View Related

C :: Determine How Many Numbers In A Range Are Divisible By Third - Loop

Mar 1, 2013

I've pretty much finished the entire program, except for the actual calculation part.

"Given a range of values determine how many integers within that range, including the end points, are multiples of a third value entered by the user. The user should be permitted to enter as many of these third values as desired and your output will be the sum of total multiples found."

I've defined functions to take user input for the low range, high range and a do-while loop to take as many third inputs as the user wants (terminated by entering -1, as requested by the question)

To actually calculate if they're divisible, I found out that if A%B = 0, then they are divisible, so I thought I would create a loop where each value in the range between A and B is checked against the third value to see if they output a zero.

What I need to end up with is a program that tells the user how many integers are divisible by the numbers in the range, i.e: "Enter the low range value: 335 Enter the high range value: 475 Enter a value to check within the range: 17 Enter a value to check within the range: -1 There are 8 total values that are divisible by the numbers in the range." Going back to my original question, how would I create a loop or something to "check" how many values are equal to zero, and consequently increment a variable for each instance? (This is how I think it should be done)

Code:

#include <stdio.h>
//GLOBAL DECLARATIONS
int getlowR();
int gethighR(int);

[Code].....

View 4 Replies View Related

C :: Validation Loop - Displays Error Message When Input Is Outside The Range

May 14, 2013

I am trying to get this simple validation loop to work so that it only displays the error message when the input is outside the range 1-3. yet it always seems to display the message.

Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int Menu ();
int ValidInt(int , int );

[Code] ....

View 5 Replies View Related

C :: If Statement With Multiple Conditions

Feb 26, 2013

I have tried writing a code and come across an issue where I'm not getting the desired result. It is to design a program that tells whether gas emissions from a car are too high, or permissible. The instructions are to design a code where there are four possible choices of pollutant, whether the emitted pollutant ratio is greater or less then a certain value, and the mileage on the car. All of these are supposed to determine whether the emissions are permissible or not, which would be displayed with printf. (The actual conditions of the assignment are described perfectly by the code below, so I didn't think it would be necessary to write it out. The problem is that I'm getting a logical error.) Here's the code:

Code:
#include <stdio.h>
int main() {
int poln, odr;
double gpm;
printf ("(1) Carbon Monoxide

[Code] ....

My error is that the program will proceed with the first four if/else statements, but once the 'poln' value changes to something other then one, it will not display the expected quotation.

View 3 Replies View Related

C++ :: Testing Conditions For Consistency

Dec 1, 2013

In the below program, when we have 4 consecutive spaces, the following comparison will not be equal: (x / tabstop != (x + spaces) / tabstop). If we have, let's say, only 2 consecutive spaces, then the comparison will be equal. So we know to print a tab with 4 consecutive spaces and not print a tab otherwise. How do we know this kind of division comparison would work in every case?

#include <stdio.h>
#define TABSTOP 4
int main(void) {
size_t spaces = 0;
int ch;
size_t x = 0; /* position in the line */
size_t tabstop = TABSTOP; /* get this from the command-line

[Code] .....

View 3 Replies View Related

C++ :: Best Way To Prompt User Again After Some Conditions Have Met

Mar 9, 2013

Here is a simple drinks machine programm. It basically consists in the user selecting a drink that it's presented, if the user selects correctly the number representing a certain drink, the machine shows the user what was the drink he selected, after his choise the machine asks for money insertion, if the user inserts the incorrect amount of money, the machine shows an error saying that user need to insert the correct amount of money.

My problem is that, if the user selects a different number other than those presentend, the machine displays an error saying that he needs to choose a valid drink, but i can't find a way to reprompt the user again after the error has been displayed. here's the code.

// ***Drinkins Machine*** by Roxmate
#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
// initializes the variables coca, fanta, iced and drink to be used in switch function,so that the user can choose what drink he wants.
int coca = 1;

[code]....

View 5 Replies View Related

C++ ::  ascending Integer Conditions Not Always Met

Dec 4, 2013

I wrote a code to ascend any three integers. Problem is the code does not output the numbers in ascending order all the time. What am I doing wrong? here is my code :

// This program will prompt user to enter any three integers and then out integers in ascending order
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int num1,num2,num3;
cout << "Enter the first number: " << endl;

[code]....

View 2 Replies View Related

C++ :: Using Enumerations Types In Loops And Conditions - Ignored In Program

Jan 22, 2014

I am trying to use enumeration types in my conditions to make a simple program that calculates area of a square or circle depending on users choice then updates the total area and outputs the total area.

The program builds fine. But it ignores all of my loop conditions and i'm not sure why.

Code:
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <fstream>
#include <string>
using namespace std;

[Code] ....

View 4 Replies View Related

C# :: Switch To End Or Start Of Array Depending On Conditions?

Apr 1, 2015

I have a seat allocation algorithm for an airplane 30 x 6 seats. The plane is 'split' front (1 - 15) and back (16 -30), right (A,B,C) and left (D,E,F). I am placing passengers in window seats front right centre (15A) first then back left centre (16F) followed by (15F) followed by (16A). This will continue for single passengers middle seats then aisle.

Another part of the algorithm is to ensure parties >2 or <=6 to sit together in an empty row, if not possible the party will be split as to not have a person in the party sitting alone firstly. i.e. 6 is 3 + 3 or 2 + 2 + 2 or 4 + 2 or 3 + 2 + 1 or 4 + 1 + 1 or 3 + 1 + 1 + 1 and so.

I have got it working for one person but seating two people is a bit more difficult. I am trying to get 15A,15B then 16E,16F then 16A,16B then 15E,15F then 16C 16D and 15C 15D.

This code only allocates passengers 15 A 15B then 15C 15D then 15E 15F

//seat allocation for two people
public bool[,] seatTwoPerson(bool[,] seatArray, int startCol, int endCol, int directionX, int startRow, int endRow, int directionY)
{ //loop through seatArray section determined by parameters
//for (int col = startCol; directionX < 0 ? col >= endCol : col < endCol; col += directionX)

[code].....

View 3 Replies View Related

C++ :: Glass Rod - Get Triangle Variable To Increase When Conditions Met

Jun 25, 2012

I'm working on a project, and can't seem to get the project to get the triangle variable to increase when the conditions are met. I need this number to be accurate so I can work out the probability.

Experiments that are either too expensive or too dangerous to perform are often simulated on a computer when the computer is able to provide a good representation of the experiment. Find out how to call the random-number generator (usually a function returning a floating point value in the range 0 to 1) for your C++ system. (Look up the functions rand and srand in the library cstdlib on the website cplusplus.com). Write a program that uses the random-number generator to simulate the dropping of glass rods that break into three pieces.

The purpose of the experiment is to estimate the probability that the lengths of the three pieces are such that they might form the sides of a triangle. For the purposes of this experiment, you may assume that the glass rod always breaks into three pieces. If you use the line segment 0 to 1 (on the real number line) as a mathematical model of the glass rod, a random-number generator (function) can be used to generate two numbers between 0 and 1 representing the coordinates of the breaks. The triangle inequality (the sum of the lengths of two sides of a triangle are always greater than the length of the third side) may be used to test the length of each piece against the lengths of the other two pieces.

To estimate the probability that the pieces of the rod form a triangle, you'll need to repeat the experiment many times and count the number of times a triangle can be formed from the pieces. The probability estimate is the number of successes divided by the total number of rods dropped. Your program should prompt the user for the number of rods to drop and allow the experiment to be repeated. Use a sentinel value of 21 to hale execution of the program.

Code:
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <cfloat>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
using namespace std;
float doBreak (float, float);
float doProbability (float, float);

[Code] ....

View 11 Replies View Related

Managed C++ And C++/CLI :: Opening Forms With Buttons From Form 1 (With Conditions)

Jun 12, 2014

I'm pretty much newbie in creating a successful GUI in C++. Although, i managed to create 4 buttons that should show a certain form. Lets say, Form1 is my main form, therefore - Button 1 will open Form2, and Button 2 will open Form3..... But the conditions is - If there is a form that is already open, clicking again on the Button that should open it, will Close it, but all the forms (form1,2,3,4,5) can be enabled together.

Also, a very important note is that whenever i close a form, in any way of closing it (Not the main form) It will "save" the changes i made (Such as ticking checkboxes and so..) and won't reopen it, it will just use "Visible" i guess ?

Notes :

If i use Form2 ^form2show = gcnew Form2;

and then Form2->Show();

I will be able to simply ATTACK the button and open Billions of form2 ^_^

Although, when i use Form2->ShowDialog();

It won't let me open the form3,4,5.

Which isn't so bad, but when i exit from the form2, it won't save my changes (Such as checkboxes..)

View 6 Replies View Related

C++ :: Random Number Generator Isn't Working Correctly - Ignoring Conditions

Apr 12, 2014

My random number generator isn't working properly. It seems to be ignoring my conditions when it compiles and I enter the input. The program is supposed to accomplish the following.

1. Let the user input how many digits he or she would like to have in the random numbers.

2. Let the user type in how many of the numbers that he or she wants.

3. It will then generate the numbers.

4. It will display the minimum or maximum number it can be with the number of digits the user entered. And display the number of numbers that the user wanted. It also is supposed to check and output only up to the max of that digit range.

so if someone entered they wanted a digit of 1(1-9) but said they wanted 300 numbers it would only output 9

Example:
the user says that she would like 3 digits to be in the numbers generated. So it will output numbers between 100 and 999. then the user says that they would like only 3 random numbers. So it will output three random numbers in between 100 and 999. Also all of the numbers need to be unique so they can't output more then one of the same number.

I am not sure why but it ignores my conditions. Ill type that I want 7 but it just outputs a bunch of random numbers. it dosen't stay in the ranges.

Class file.

Code:
#include "stdafx.h"
#include <fstream>
#include <iomanip>
#include <iostream>
#include <string>
#include <conio.h>
#include "TargetGen.h"
using namespace std;

[Code] .....

View 6 Replies View Related







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