C++ :: Deleting A Character Recursively?
Mar 18, 2013
I'm having trouble deleting a character inputted by the user recursively..
1- Should I be doing it this way where it returns the character one by one to the console?
2- Is there a way actually rebuild the string to "delete" these occurances of the key?
//This program deletes a character inputted by the user recursively
#include <iostream>
using namespace std;
char find (char *a, char key)//Function gets passed array (but makes it a pointer) and key
[code]....
View 5 Replies
ADVERTISEMENT
Jun 25, 2014
I am creating a Linear linked list in c++. I've written all the functions for it, but now I want to try and do them using recursion.
I managed to make functions for adding and displaying nodes on the list, but I am stuck on the function for removing nodes. First I want to try and write a function the removes the last item on the list. But for some reason my code isn't working properly.
Here is the code :
void removeLastItem(node * &head) {
if(!head) {
delete head;
head = NULL;
[Code] ....
NODE - My structure name
NEXT - The pointer to next element.
HEAD - The first (head) pointer.
The couts in the if statements are just for testing. In fact after I Run my program it does as it is supposed - enters the second if /b]case as many times as there are elements and then executes the first [b]if statement. But for some reason it does not delete the actual node.
View 2 Replies
View Related
Dec 19, 2014
I'm writing a C++ module that is meant to recursively scan a directory and I'm curious what yall think of my strategy.
The program is a music player and so I'm trying to make the directory scanner as lightweight and efficient as I can. I've decided I want to scan the files in two passes- first I just want to get a list of all music files that are found in a directory/subdirectories and then I want to process the list and search for id3s/other tags.
As I'm a scanning the directory, I've decided to store the temporary list in a linked list where each node is containing an array of 100 strings. I did this because I obviously don't know how long the list will be and I from my understanding of the C++ vector class it basically just makes over sized arrays and moves them when it runs out of space. That sounded rather clunky to me, as did a traditional linked list.. I didn't see the point of allocating memory that many times in a row.
View 3 Replies
View Related
Mar 2, 2015
suppose that the class LinkedBag did not have the data member item_count_. Revise the method getCurrentSize so that it counts the number of nodes in the linked chain a. iterartively b. Recursively[
LinkedBag.h
template<class ItemType>
class LinkedBag : public BagInterface<ItemType> {
public:
LinkedBag();
LinkedBag(const LinkedBag<ItemType>& a_bag);
LinkedBag<ItemType>& operator=(const LinkedBag<ItemType>& right_hand_side);
virtual ~LinkedBag();
[code].....
View 6 Replies
View Related
Apr 20, 2014
I'm trying to recursivly display the contents and sub contents of a folder. Here is the function that gets called:
void Ls(string wrkDir, bool recursive) {
DIR *dirStream;
dirStream=opendir(wrkDir.c_str());
if(dirStream==NULL)
return;
dirent *ep;
[Code] ....
what is happening is once it goes through all the sub-directories in the first folder, it goes right back into it. Also when it approaches a file that isn't a directory, it doesn't pop out of the stack, instead it adds the name of the next file to the path and tries to open that. How do i test if the current path is a directory using only standard c/c++ calls. Can't use boost or wxWidgets.
View 14 Replies
View Related
Dec 5, 2013
How would I check if a binary search tree is full or not recursively?? ?
View 1 Replies
View Related
Mar 15, 2015
I'm trying to implement a code that recursively calls itself and prints the given digits in ascending order, i.e. if the number is 5, then the function will print 1 2 3 4 5. I cannot use loops in any way!
The problem I have is with keeping my variable i at a set value each time the function calls itself.
void print_ascending(int n){
int i = 1;
if(i < n) {
printf("%d", i);
i++;
print_ascending(n);
}
}
Of course, the problem with this code is it will re-initialize the variable i to 1 every single time and infinitely loop to print 1.
View 11 Replies
View Related
Apr 25, 2015
I'm currently working on a Scheme Interpreter written in C. I'm trying to create a cons cell structure via recursive descent parsing, except instead of just having the car and cons, I also have a field that holds the token that I receive from the lexical analyzer (which was provided to us). The struct for what I'm describing is as such:
typdef struct node node;
typedef node* list;
struct node {
char* symbol;
list car;
list cdr;
};
Thus a cons cell would be (with a node represented as [symbol][car][cdr]), [null][car][cdr], while a symbol would be [symbol][null][null].
In the top answer for a similar question on Stack Overflow, one of the suggestions was to put the tokens into a stack as the input is recursively parsed, and then from that stack input it into the cons cell structure.
This is something that I'm working towards now, as it is easier for me to understand and I already have implemented a stack in C before, but I know that I can just build the structure recursively, I'm just not sure how. The following is code that I have:
list s_expression() {
list local;
list temp;
if (strcmp(token, "(") == 0) {
strcpy(token, getToken());
[Code] .....
s_expression is supposed to return a pointer to a recursively built cons cell structure. I'm just having issues figuring out when to call getToken(), as I either call getToken in the wrong spot and unintentionally skip over a token, or I call getToken() when I'm done getting all of the tokens, thus causing my program to continue searching for a token from user input instead of continuing on with the rest of the program.
When should I be calling getToken()?
In addition, what would be better, recursively building the cons cell structure as you go through the user's input, or putting all of the tokens into a stack and then building the cons cell structure using that stack?
If needed, I can post the lexical analyzer that's been provided to us. Also, for S_expression(); showing up as S_exp<b></b>pression();, I'm not sure what happened there. I copied this post from my question on stack overflow.
View 12 Replies
View Related
Sep 14, 2014
I keep getting this warning message and I do not know how to fix it. Is it because I'm using char to instead of strings to replace all 't' with 'lp'?
#include<iostream>
#include<string>
#include <stdio.h>
using namespace std;
char * scanf(char * a) {
[code]....
View 6 Replies
View Related
Jul 25, 2012
Double values are stored in text file. 23.5 36.8 34.2 ... My teacher told me to read them character by character and then make words, like i have to read "2" "3" "." "5" and now have to make it or treat it as word and then using atoi(). I have to convert it into double. but i dont know how to do this....
View 5 Replies
View Related
Nov 10, 2013
I have to optimize a code for below scenario. I am reading stdin (a file redirected to stdin) character by character. How many chars are going to come is not known. After every few chars there is a seaparator. e.g $ as below
rhhrkkj$hghjhdf$ddfkrjt
While reading, if the separator arrives I'm processing the string stored before that separator and then continue reading stdin in same fashion, till EOF. I am using getc(stdin) to read chars.
Using gprof I can see most of the program time is spent inside main() , for this reading logic. Rest of the program is just some insert and search operations. I am getting time of 0.01 secs at the moment, want to reduce further.
View 6 Replies
View Related
Aug 10, 2012
How do I write an a program that will read an input file character by character?
View 1 Replies
View Related
Oct 6, 2013
In my program, I'm supposed to read a text file (the name of which is given to me as a command line paramater, as long with an integer), and display the text in a specific format (each line can only be as long as the integer). However, I'm having trouble even reading the text file. I don't know the syntax. I'm only allowed to edit the function that does the formatting, and the code in that is
void typeset (int maxWidth, istream& documentIn)
I don't know how to 'read' the file, as most examples online are ifstream, or openFile or something like that. What I want to do is just read the first character of the file, and continuously keep reading characters until the end of the file.
View 10 Replies
View Related
Sep 13, 2014
So I'm trying to create a function that replaces any instance of a character in a string with another. So first I tried the replace() string member function:
In my implementation file
void NewString::ReplaceChar(const char& target,const char& entry)
{
this->replace(this->begin(),this->end(), target, entry);
};
Main program
#include "NewString.h"
using namespace ...;
int main()
[Code].....
Instead of replacing the the l's with y's it outputted a long string of y's. Also, NewString is derived from the string class (it's for the assignment). the header and whole implementation file, already tested.
I've also tried, instead, to use a for loop in ReplaceChar() but I need to overload the == operator and I don't know how I should exactly:
bool NewString::operator ==(const char& target)const {
if(*this == target)
return true;
[Code]....
I want the == operator to test if the value in the char array is equal to target but I'm not sure how to pass in the position. I'm guessing the this pointer in ReplaceChar() is not the same as the one dereferenced in ==() because target is never replaced by entry in the string.
View 5 Replies
View Related
Jul 4, 2014
Can we do this :
Code:
char strings[][100]={"ABC","EFG","IJK","LKM"};
char temp[100];
temp=strings[1];
View 3 Replies
View Related
Apr 13, 2013
Simple rect collision detection
bool check_collision(SDL_Rect *box1, SDL_Rect *box2){
if(box1->x+box1->w<=box2->x)return false;
if(box1->x>=box2->x+box2->w)return false;
if(box1->y+box1->h<=box2->y)return false;
if(box1->y>=box2->y+box2->h)return false;
return true;
[Code] ...
The order of the game is of course standard.
1.handle input
2. handle logic
3. render
4. update
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.
View 7 Replies
View Related
Nov 11, 2014
learning deleting BST node through recursion. In my class my tutor wrote something like this for BST delete node struc:
struct node{
//data
node* root, *left, *right;
}
why not
struct node{
//data
node* *left, *right;
}
node * root;
whats the difference?
View 5 Replies
View Related
Mar 7, 2014
Basically, I have a LIST that is saved in a CSV file, and I need to remove a particular record after using the search feature (which populates the fields from the CSV file... i.e. ID, Name, etc...).
I am able to get the details that are in the text fields by using a search feature. This is then put in:
logic.remove(tempIndividual)
In class myLogic.cs, then I have this method:
this.individual.Remove(tempIndividual)
Upon debugging, I can see that tempIndividual is populated with the correct data. However, I need to remove this data from the CSV file. Am I on the right track, or totally off? Maybe it is not complete, cause I can't get to the part where it actually removes the data from the CSV, or at least I'm not sure if .Remove is able to do it on its own.
View 9 Replies
View Related
Sep 10, 2014
How to do self deleting of exe file when it is run'd.
View 2 Replies
View Related
Dec 11, 2014
I am writing a program to list the 8 planets, then you select which planet you want. it gives you the mass of the planet, the radius, then you use the mass and radius of the planet to find the surface area (sphere formula) and the density of the planet. Along with those options, you have to add and delete a planet from the list and then sort them alphabetically. All i am having trouble with is the adding and deleting part. The code the adding and deleting from the list would go in cases 9 and 10.
heres my code as of this point.
#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
void print(const std::string& item) {
[Code] ....
View 5 Replies
View Related
Nov 21, 2013
I have a container in c++11 and i must delete first object and i don't know how...
for (const prob& p : *static_cast<vector<prob>*>(list.listData)){
// i must delete the first object
}
View 2 Replies
View Related
May 5, 2013
I'M TRYING TO DELETE FROM THE END OF A LINKLIST...Actually I delete the last node but the problem is that I lost the end of the list, in other words my list leaved of pointing to NULL.I really don't know how to fixed, (it was more easy to delete from head)
Code :
void linkedstack::pop() {
if(head==NULL){
cout<<"The linklist is empty"<<endl;
return;}
else {
node *current=head;
[code]....
View 3 Replies
View Related
Oct 21, 2014
Consider the following code snippet:
GLfloat box[4][4] = {
{ x2, -y2, 0, 0 },
{ x2 + w, -y2, 1, 0 },
{ x2, -y2 - h, 0, 1 },
{ x2 + w, -y2 - h, 1, 1 },
};
Do I need to call a variant of
delete [] box;
Against this float array?
View 1 Replies
View Related
May 30, 2013
LinkedList* listPtr = new LinkedList;
listPtr->addNode(3);
listPtr->addNode(4);
listPtr->addNode(6);
listPtr->print(std::cout);
delete listPtr;
listPtr->addNode(5);
listPtr->print(std::cout);
When I run the program it outputs
{ 3, 4, 6 }
{ 5 }
Why does the LinkedList object that listPtr is pointing to not get destroyed??
View 8 Replies
View Related
May 6, 2014
This is a program to get an 10 characters including a-z, A-Z, and _ .
Then this program will cout the text with out _ !
Example:
cin >> sd_fd_e_dd
cout << sdfdedd
# include <iostream>
#inclued<vector>
using namespace std;
char a[10],m;
[Code] ....
View 1 Replies
View Related
Nov 23, 2013
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?
View 3 Replies
View Related