I created a very basic program which contains a vector (my vector) that holds 0, 1 and 1. This program compares each element in the vector. If the element after the one currently being compared is equal to it, it outputs "repeat found!" Now this all works perfectly, but my next step was to erase the repeated one. Everything was working up until the delete step. I get a weird error that says "vector iterator not dereferencable" .
// vector::begin/end
#include <iostream>
#include <vector>
using namespace std;
int main () {
vector<int> myvector;
It's all pretty simple and straight forward, but oftentimes (not always) when the weapon hits the asteroid, the program crashes. If for example I turn off the delete main_weapon[i] and main_weapon.erase(main_weapon.begin()+i); the program works perfectly, but of course the bullets go right though the asteroid object, which is not what I want. It's only the weapon deletion which is causing no end of trouble.
Currently I am implementing the A* algorithm in C++. I have chosen to use a hybrid of a '2D vector grid' and two 1D pointer vectors to specific places in the '2D vector grid'. I have chosen to do it this way, so I can access the nodes using coordinates and also for iterating over the appropriate nodes(rather than the whole '2D vector grid').
In the below examples I have not included the full code because I deemed it irrelevant to the question.
vector <int> CInGame::AStarAlgorithm(vector<vector<bool>>& resistanceMap, int startX, int startY, int targetX, int targetY, int cutOff) { vector <int> returnVec; vector <vector<CNode>> twoDimNodes; vector <CNode*> openSet; vector <CNode*> closedSet;
[code].....
The error is:
_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
do I need to free the pointers or is it done automatically? If not then how would I do this?
I made a vector of pointers and the problem is that I have trouble deleting the pointers in the vector. I used to simply do vector.clear() or vector.erase() however it does not clear the actual memory. And I tried something like this:
std::vector<Foo*> Vector; std::vector<Foo*>::iterator i; for (i = Vector.begin(); i < Vector.end(); i++) delete *i;
case DELETE_TITLE: std::cout << "Game to remove from list: "; std::cin.ignore(); getline(std::cin, gameTitle); for (iter = gameList.begin(); iter != gameList.end(); ++iter) {
[code]....
It deletes the text from the string but not the index it self.
It deletes the text but when I print the list of game titles it has it there blank. I want it to completely remove the object from the vector from where it was deleted
I'm having a little trouble writing program that on remove all repeat characters and leave only the non repeated characters. This is want I have so far.
I create a loop that would repeat itself many times a second? Trying to do extremely basic graphics with a grid and system("cls") every time I run a command, but it still looks very jumpy. I realize system calls are evil. Any way to get rid of this too.
I have a method that changes a canvas color after set intervals, e.g. start timer, 5 seconds green, 3 seconds red, then stop. This functionality is provided in the interval method. The problem I'm trying to achieve is getting this sequence to repeat for a set number of iterations.
I tried to solve this by setting up a counter after the timer is stopped but the code keeps repeating indefinitely by starting and stopping over and over instead of the max of 6 iterations I had set. In debugging the problem, I watched the value of 'i' and when the 'if' statement is set to false. The 'if' statement gets set to false after 7 iteration as expected but the start(); keeps getting called.
void myTimer_Tick(object sender, EventArgs e) { //Assign text box string value to a time span variable. TimeSpan workTm = TimeSpan.ParseExact(wrkString, @"hh : mm : ss : fff", CultureInfo.InvariantCulture); TimeSpan restTm = TimeSpan.ParseExact(rstString, @"hh : mm : ss : fff", CultureInfo.InvariantCulture);
// update the textblock on the display // with hh, mm, ss, ms ms = myStopwatch.ElapsedMilliseconds;
Here is my code for a simple game. paste it and try it.
#include <iostream> #include <string> #include <ctime> #include <cstdlib> using namespace std; int main (void) { stringg[4],
[code]...
What they do (enter 4 actions)?
"; for (int ai = 0; ai < 4; ai++) getline(cin, a[ai]); cout << "
Where is happening (enter 4 locations)?
"; for (int li = 0; li < 4; li++) getline(cin, l[li]); for (int c = 0; c < 4; c++) cout << g[rand() % 4] << " and " << b[rand() % 4] << " are " << a[rand() % 4] << " from a " << l[rand() % 4] << endl; return (0); }
At the end in the 4 lines some of the names, actions and locations repeat. How do I make them to not repeat and use every name that you will enter? do I need random_shuffle? How can I integrate it in my code?
I have an array matrix called tmat,,and i know that in every row of tmax there are values which repeat two times...and am writing a code to extract the values WHICH DOES NOT REPEAT into another matrix called tcopy...the codes compiles fine...and it writes nicely to file...but without the desired result...
One last question...how can i get the array tcopy written to file in the form 5x3...and not all the figures in line one after the other? i mean i wish to see the matrix like a matrix on file..not like a list of numbers....
Code: #include <iostream> #include <fstream> #include <vector> using namespace std; const int R = 5; const int C = 5;
Repeat the vowel Problem 3 (0 / 0)Write a program that will repeat k times each single occurrence of a vowel in the input file "sp.txt" to a new file "output.txt". The first line of the input file contains only the parameter k. The first line (containing the parameter k) should not to be written in the output file.
I wrote the code but i cant figure out something. i read the file, i found the vowels but then i cant print them.
Code: #include <stdio.h>#include <string.h> #include <ctype.h> #define MAX 100 int checkvowel(char c)
Write a program which is used to calculate GPA based on the grades from different courses Input by the user. User should be able to enter as many course unless they choose to quit. Once the user has completed entering the data, the program should be able to provide a feedback on the GPA. Where A=4, B=3, C=2, D=1.
I have a piece of code in C with header files included. I run it on Mac OS X Maverick with XCode 4.6.2 installed. GCC is also installed. Note that Command Line Tools in XCode are already installed.
When I compile it, the error I receive says something like this:
add.c:1:19: error: stdio.h: No such file or directory add.c:2:20: error: stdlib.h: No such file or directory add.c:3:20: error: unistd.h: No such file or directory
However when I run it on Ubuntu, it compiles without a problem.What to do?
I am working on a couple C++ projectsfor my class. On one of my projects I get this error "identifier not found" for maximumValue. here is the code that I have done. I have got almost all the code from my text book..
// Three numbers.cpp : Defines the entry point for the console application.//
#include "stdafx.h" #include <iostream> using namespace std; int main() { // demonstrate maximum int value int int1, int2, int3;
I have counted my braces and it look to be correct but I am seeing double.. I am getting the "end of file found before the left brace.. do I have one in an incorrect place?
#include <iostream> #include <string> #include <fstream> #include<cmath> using namespace std;
I think my linker needs an additional #include to be able to deal with int& anterior and int& posterior. I'm not sure as I'm new to C++. My version of Dev-C++ is Orwell V5.8.3.
I'm having some trouble printing the duplicates found in an array. Specifically, when the value is at more than 2 positions. So if the value 3 is at position 1, 10, and 11 it'll print three messages instead of two:
value 3 at position 1 is also at position 10 value 3 at position 1 is also at position 11 value 3 at position 10 is also at position 11
instead of
value 3 at position 1 is also at position 10 value 3 at position 1 is also at position 11
This is real simple problem, but I can't seem to figure it out. I've been trying to implement another array to 'remember' the encountered position, but I haven't had any luck.
Code: for(i = 0; i < num_count; i++){for (j = i + 1; j < num_count; j++) {if (num[i] == num[j]){printf(" value %d at position %d is also at position %d", num[i], i, j);}}}
For some reason my code is not couting right. My function is supposed to decipher some code that if it has multiple same chars then it drops one. Example aabbyfkk --------> abyfk. But it couts abyffkk . For some reason it is not getting rid of the extra f and k chars.
string decrypt (string encrypted) { string deleted, tmp; int i, pos, n, j=0, z; tmp=encrypted;