I have a vector I want to add book titles to, then i want to print my updated vector. This is best I have come up with but the program fails at the getline line. why?
string book;
cout << "Enter book to add: "<< endl;
getline(cin, book);
books.push_back(book);
for(int i = 0; i < books.size(); ++i) {
cout << i+1 << ". " << books[i] << endl;
}
I was given a project to program a library catalog. One of the aspects is that we have to allow an administrator to add, modify, and delete books from the catalog. It was recommended to me to use vectors. So I initialized by hand a default book list, and now I want to be able to have an adminisistrator add books and then print the modified book list. Here is what I have got:
main () { char yesorno; string bookname; vector<string> books;
I'm working on a project, and I'm trying to fill in various vectors from a given input file. The input file looks like:
<catalog> <book id ="bk101"> <author>O'Brien, Tim</author> ....etc
My load vectors function looks like this: void load_vectors(vector<string>&id, vector<string>& author...etc)
I can't assume a limit on the number of books etc listed in this catalog, so I'm using the eof() function. However, I don't know how to write the loop to gather the correct strings and place them in the vectors.
Code: while(in.eof()) { string text; int index, index2; getline(in, text); int index = text.find("<author>"); int index2 = text.find("</author>"); a = index.lenght(); author.pushback[i] = text.substr(index + a, index2); }
I have to write a program in C++, without using a selection sort, that outputs the name you enter with the lowest age. You input 5 names with ages and at the end it outputs the youngest person. This is what I have so far:
#include <iostream> #include <vector> #include <string> using namespace std; int main()
[code]......
I Know for the second for loop there has to be if statements in it but I am so stuck on what to write next.
I tried this syntax in both VS 2010 & VS 2012 Express For Desktop, and I get the same error in both compilers:
compiler error: non-aggregates cannot be initialized with initializer list
To put the code above in context, I'm going to have a .txt file with hundreds of thousands of string arrays, in initializer list format, such as:
{"string","string","string","","",""},{"string","string","string","","",""},{"string","string","string","","",""}...and so on
The first 3 strings in each array will be non-zero in length, and the last 3 strings in each array will be empty, as shown above.
I want to be able to cut and paste the arrays right into the declaration, either with:
string arrayOfArrays[0][6] = {{"string","string","string","","",""},{"string","string","string","","",""},{"string","string","string","","",""}...and so on }; or vector<vector<string> > vecOfVectors = {{"string","string","string","","",""},{"string","string","string","","",""},{"string","string","string","","",""}...and so on };
I know I can do the first, but apparently the second declaration method with vectors won't work. I would like to work with vectors, but I'm not sure about the initialization. The .txt file will be what it is, so the initialization will have to be able to work with its 'array-like initializer' format.
Basically I need to make a program which asks for a business name and then keeps asking for more until user doesn't want to. Once more than 1 business is enter it should display the business and sort it alphabetically and keep displaying them each time another is added. I am lost on how to store the added business, sorting it and displaying the list.
Here is what I have so far.
#include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std; int main () { string business_name; char selection;
void armazenaFA( std::vector <int> &vFA) // this function only knows about vFA { vsFA[n] [m]= simTime().dbl(); OR vsFA[n].push_back(simTime().dbl()); }
This is probably a very basic question, but I need to create two vectors and then loop through the vectors and output each pair that is found.
The user will input min1 and max1 with step1 for the first vector and min2 and max2 and step2 for the second vector. Then the loops will go through and return the combinations will return each pair of the two vectors.
So if I input min1=1 and max1=10 and step1=1 and same for vector two the return would be:
[1,1] [1,2] . . . [10,10]
This is for part of a homework assignment, but I can't continue on the assignment without first getting this simple part to work.
I am programming a translator, and I have it so that it detects words with spaces both in front of and behind them, so I did "string.append(space);" where space equals " ". That added a space to the end, but I still need a space added to the front.
I have a problem who must print the sentences who have lenght more than 20 characters. I dont know why, but it prints just the first words. Look what i made.
#include<stdio.h> #include<conio.h> int main()
[Code]....
For instance :
Give the number of sentences : 3
First sentence : I like the website bytes.com Second sentence : I like more the website bytes.com Third sentence : bytes.com
After I compile the program it should print the first two sentences.
I want to add 2 vectors to print out so that there on the same line. What I am trying to make is an inventory system that will use 2 vectors to keep the pounds of the item and list the 2 vectors on one line.
(I am using Microsoft Visual C++ 2010 Express)
Like this:
0. empty 0 1. empty 0 2. empty 0
etc...
Right now it looks like this:
0. empty 0. 0
The code:
#include "stdafx.h" #include <iostream> #include <vector> #include <string> #include <fstream> #include <cmath> using namespace std; int main() { vector<string> inv;
I'm trying to make it like a game. You would fire your gun, then have the option of reloading. If you run out of ammo and try to fire...it will automatically come out of your cache. Anyone who played a 3rd or first person shooter knows what I mean. I thought vectors would be the best course of actions since they can remove and add elements with ease. One of the many problems I have is subtracting the Hand Guns current ammo (size) from its maximum (capacity) to see how much to A. push_back into the clip and B. pop_back out of the cache. Can size() and capacity even be subtracted? Here's the code with what I believe to be all the possibilities.
#include<iostream> #include<vector> using namespace std; int main(int argc,char** argv) { vector<int> HG_cache (36,1); vector<int> HG_clip (12,1); char user_input;
I am trying to use push back in a 2D vector but I don't know how to. This is what I have:
vector <vector <BigInt> > matr;
for (BigInt i=0;i<rij;i++) { for (BigInt j=0;j<kolom-1;j++) { matr.push_back().push_back((i+1)^(pow-j)); } }
I quickly invented something but that doesn't work obviously. it should be equivalent to this: (the only problem in the code below is that those indexes don't exist yet that's why I need push_back())
for (BigInt i=0;i<rij;i++) { for (BigInt j=0;j<kolom-1;j++) { matr[int(i)][int(j)]=(i+1)^(pow-j); } }
My program works fine with a small number of insertions to v. However, with a huge number of insertions my program stops working without telling me the reason... I guess that vectors might not grow after a certain size (im not sure)
1. What is the maximum size that a vector of vectors can grow? 2. I'm using Microsoft visual studio 2012, Is their anything I can do with the settings to increase the size of my vector? something beyond 1000000 rows?
I've seen code examples for assigning 2 dimensional vectors, but I haven't seen code for assigning more than that. I tried to create a 3 dimensional vector, and the only code the IDE didn't complain about was
int x = 2; int y = 2; int z = 2; vector < vector < vector <string> > >stringvec; stringvec.assign(x, vector <string>(y), vector <string>(z));
Would this be the correct way of producting a vector[2][2][2]?
I have a CSV file that is formatted in the following way. The top row contains headers and the data is below. I have opened the file (sec2011) in Numbers on Mac and saved it as a csv. I would like to read each of the columns into a vector, but I can not get the code to even open the file.
secid,date,low,high,close,volume,return,cfadj,open,cfret,shrout 101310,03JAN2011,181.21,186,184.22,5331413,0.023444,12,181.37,12,448837 101310,04JAN2011,183.78,187.6995,185.01,5033144,0.004288,12,186.15,12,448837 ifstream infile("sec2011.csv"); if (!infile) { cerr << "Couldn't open file!"<<endl; return 1;
This code always returns the Couldn't open File text.
What am I doing wrong. I know the above code doesn't put the data into vectors, but I can't even get the file to read.
I'm trying to solve Project Euler 16 where you have to calculate 2^1000. SO I made a program that would solve multiplying a number b a single digit factor through manual multiplication in a vector, just to test things out.
The problem is when I take things out of main and try to make a separate function, the original number is never multiplied.
Here's my code with functions...
/*Using vectors manually to multiply a number to a positive power.*/ #include <iostream> #include <vector> using namespace std; void print_vector(const vector<int>& v);
[code]....
Here is the other code, not using functions but even if I use an extra for loop to multiply by the same factor several times, it still does the same thing.
/*Using vectors manually to multiply a number by two (or any single digit factor).*/ #include <iostream> #include <vector> using namespace std; void print_vector(const vector<int>& v);
How would you search through the a list of vectors? I have a upper case letter at the start of the lists and corresponding lower case letters in vectors how would I search through it to see how many times the corresponding lower case letter was repeated?