C++ :: Swap Function To Put String In Alphabetical Order
Nov 10, 2013
So I been working on this c++ project and I need to be able to take three seperate strings and send them to function to put them in alphabetical order through a-z and use the swap function to return them in order. I been searching for problems like this but I haven't fame across any. I can copy my code onto here as well as a more detailed description of what I'm needing to do onto here if needed.
I am trying to read information in from a file, each line of which contains a name in the form 'last, first middle'. I can successfully open the file and read it into an array that is roughly 2500 string in size. The problem comes when I try to sort the array into alphabetical order. I am using a sorting algorithm that we were instructed to use, found in our book. It is shown in the code. I would add the file that needs to be opened, but it is a few thousand lines long.
The error I am getting is: Unhandled exception at 0x00A28628 in PeopleSearch.exe: 0xC0000005: Access violation reading location 0x00CC400C.
and I know it has to do with the sorting algorithm from using break points and running the program with that section commented out. I am stumped to why it is giving this error, as it seems that it is trying to access the array outside of the bounds of the array, but it shouldn't be
I'm trying to create a program that counts the amount of alphabetical characters, numbers, blanks and total amount of characters in a string a user gets to enter. The user also quits the program manually by pressing CTRL + D (in linux terminal).
These are the results I get from the code so far by typing in "hello cplusplus 123 c++" CTRL + D.
The string had: Alphabetical characters...: 0 Numbers...................: 0 Blanks....................: 3 Total amount of characters: 20
So I can't seem to find a way to count the amount of alphabetical characters and numeric characters.
Here's my code:
#include <iostream> #include <string> #include <iomanip> #include <cctype> #include <sstream> using namespace std; int main() { string tecken;
[Code] ....
The reason why I declared cctype is that I think I should use the isalpha, isdigit and isblank functions but how I am supposed to do that.
The idea is to make an array and have it sort the contents inside the array in order from smallest to greatest by using a swap function. I don't know why it needs to be done this way when a sort function makes the most sense, but it is what it is.
For simplicity I want my array to only include three numbers. I was thinking {18,-2,24}. My only problem is that I am not understanding how to translate the swap function in an array. I tried using my previous swap function from another assignment and translate it to work for an array, but it doesn't work and I am completely lost and stuck. What I tried to do was this:
writing a sorting function that has an argument for a vector of ints rather than an array; it should use a selection sort algorithm.Here is what I have:
#include <iostream> #include <vector> #include <conio.h> using namespace std; void fillVector(vector<int> &aVector); // PRECONDITION: number declared size of array a. // POSTCONDITION: number_used is the number of values stored in a //a[0] through a[number_used-1] have been filled with nonnegative int.
What is the efficiency of the two assignments (line 1 and 2), i.e. (function calls, number of copies made, etc), also the Big O notation. I know there are function calls for retrieving the size of each string in order to produce a new buffer for the concatenated string...any difference between line 1 and 2 in terms of efficiency?
String s("Hello"); String t("There"); 1. s = s + t; 2. s += t;
Write a function which will take 3 arguments. The function needs to return a new number which is formed by replacing the digit on a given position in the number with a digit which is carried as an argument (the position in the number is counted from right to left, starting with one). Write a main program which will print the newly formed number.
Examples: A function call of 2376, 3 and 5 should return the number 2576 A function call of 123456, 4 and 9 should return the number 129456
What I succeeded to do so far: Figure out the logic for swapping the digit and write working code for it (in the main function).
What I failed to do so far: Write a function which will return the desired result.
What is my problem: I tried writing a function to do this, but as you see from my calculations, my result is divided in 3 parts. I don't know how to return more variables from a function.
Code:
#include <stdio.h> int main() { int inputNumber, swapPosition, swapDigit; scanf("%d%d%d", &inputNumber, &swapPosition, &swapDigit); int i, numberPart1 = inputNumber; for (i = 1; i <= swapPosition; i++)
How to print a string in reverse order(for example: "today is Wednesday " to "Wednesday is today"). My professor said we should begin with a null string and build it one word at a time.
#include <iostream> #include <fstream> #include <string> using namespace std; int nwords(string);
I want to program an advanced calculator. I'd like to enter some more complex expressions like -17+3*4*(4-sqrt(4) and i want, that mathematical operations are done the correct order, so at first 4-sqrt(4) is calculated, then 3*4*2 and then -17 is subtracted.
Problem 1: Convert a string into a mathematical calculation Problem 2: Calculate in the correct order
How would I do that (I dont expect perfecly precoded calculators from you, just the way how to do it)
Google search just delivers primitive calculations with entry methods like
Enter first number 1 Enter operator + Enter second number 2
I want to write a function that can accept any arbitrary array of doubles and return the index of the first element that is out of order or -1 if the elements are in order. Why my for loop exists immediately after an element is found to be out of order. What is wrong with my code and why?
Code: int out_of_order(double stuff[], int size) { int i; //run through entire array
Implement a recursive function named void printBack(DoublyLinkedNode<T>* node) for the class DoublyLinkedCircularList which will print out the elements in the list from back to front. The function is initially called with the first node in the list. You may not make use of the previous(prev) links
This is my solution where I got 2 out of a possible 3 marks:
template<class T> void DoublyLinkedCircularList<T> :: printBack(DoublyLinkedNode<T>* node) { if(node->next == NULL) //Correct- 1 mark return 0; else printBack(node->next); //Correct - 1 mark cout << current-> element << " "; }
I am trying to develop a function which prints a binary tree using post-order traversal (left, right, root) but I am experiencing some troubles. The code is compiled but when I run the program it crashes right before printing the post-order traversal.
Below you can find my code and the output from debugging.
Code: /** Program which represents a Binary Search Tree and is modified with the following functions: - smallest() - member function which searches for the smallest element in the tree. - preorder() - member function which prints the tree nodes using pre-order traversal - postorder() - member function which prints the tree nodes using post-order traversal (to be completed) */ #include <iostream> #include <cstdlib> #include <string> using namespace std; class TreeNode { public:
[code]...
This is from the debugger log:
Child process PID: 5720 At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:316 At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:317 At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:318 At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:319 Program received signal SIGSEGV, Segmentation fault. At C:Program Files (x86)CodeBlocksProjectsTestmain.cpp:279
I have to write a function called sortMe that sorts the elements of an array in numerical order from highest to lowest values (descending order) or vice versa (ascending order).
The assignment asks to: NOT re-arrange elements in the array; instead, it uses a second array, an array of indexes for the elements in the original array and then sortMe sorts the second array based on the values in the original array. A sorted version of the original array can then be produced with these sorted indexes.
Header of the function sortMe must be as shown below:
void sortMe(int array[],int sortedIndexes [], int size, char mode)
When mode is 'a', the function sorts the array in the ascending order, and when mode is 'd', the function sorts it in the descending order.
Declare and initialize the array array.
Declare the array sortedIndexes but do not initialize it. You are going to play with the array sortedIndexes in the function sortMe.
EXAMPLE:
int array[5]={3, 5,-1,10,0}; int sortedIndexes[5]; sortMe(array,sortedIndexes, 5, 'a');
After the function call, the elements of the array sortedIndexes should be: 2,4,0,1,3.
notice that the function does not e-arrange the elements in the array.
So I have been assigned a program that counts keystrokes, alphabetical characters, and vowels. I have the program working as desired but I just can't figure out how to make it end upon ONLY the "return" key being pressed.
Code: #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main ( void ) {