C++ :: Organizing And Managing Large Database Of Words
Feb 27, 2014
Organizing and managing a large database of words building semantic relationships between them.
Questions:
1. Is C++ a good language to manage large databases
2. Is there a better language/software solution that can easily manage my database but return output that I could use in C++
3. Is C++ a good language for securing and encryption? If not, where should I look?
I'am creating a 10x10 graph of nodes. Each node is a button object.
Instead of coding the click event procedure for each (As each button will do the same thing when clicked), how would I implement a single click event method for all of the buttons within a Button array.
Picture of the 10x10 grid
EDIT: Each button would return its location (x,y) to the node class.
I'm attempting to write a basic Dijkstra's algorithm using a 10x10 grid.
My assignment is to write a system for managing a radio station. The code is composed of four classes:
Song: each song has a name, a composer and a singer, and has a few segments: INTRO,VERSE,CHORUS,TRANSITION, while each represents a different length string of chars. Playlist: a multiset of songs, and a pointer to a RadioStatistics instance (see below). RadioStation: a set of Songs (will represent the station database), and a list of Playlists, each playlist holds a few songs from the database. RadioStatistics: can only be instantiate once, this object gather statistics; it has two maps: one that counts how many times a song was played, and second that counts how many times each singer was played. (the key is the song/singer name, and the value is the counter).
The RadioStation has a constant that defines a limit to how many times a song is allowed to be played. whenever a song reaches this limit (meaning, it was played too much), the program needs to skip to the next song in the database.
so, I run this test from main, and the program crashes (or more accuratly get stuck, since the console stays open and the program keeps working until I stop it).
I made a few changes and run the debugger a few times, and was able to focus on the problem.
I ran a step by step debugger, and found out the problem lays with line 90 in RadioManager.cpp, when the while loop runs its fourth iteration. It crashes when it tries to dereference the iterator, while it points to the fourth playlist in the list.
And here's some more weird stuff: when I comment out line 73 in main.cpp - it works perfectly fine! (line 73 in particular! commenting out any other line in main.cpp didn't worked around the bug!)
I was reading this earlier [URL] ..... and I was trying to figure out how to pick one of the words randomly from my text instead of using all the words in it.
In C++, the largest int value is 2147483647. So, an integer larger than this cannot be stored and processed as an integer. Similarly, if the sum or product of two positive integers is greater than 2147483647, the result will be incorrect. One way to store and manipulate large integers is to store each individual digit of the number in an array. Write a program that inputs two positive integers of, at most, 20 digits and outputs the sum of the numbers. If the sum of the numbers has more than 20 digits, output the sum with an appropriate message. Your program must, at least, contain a function to read and store a number into an array and another function to output the sum of the numbers. (Hint: Read numbers as strings and store the digits of the number in the reverse order.)
My code handles smaller numbers well enough, but I need the program to be able at least factor 100!.
#include <stdio.h> void factorialOutput(unsigned int &n, int fac[]); unsigned long long factorial(int n); int main(int argc, const char * argv[]) { unsigned int t = 0; int n[101];
I am trying to run a simulation with a large number of objects (mainly arrays and vectors). I am not sure where shall I define my objects: inside or outside of the main() function, like the following two structures:
I know there is a question about scope. But besides this question (which seems have no difference between these two structures here), is there any difference in terms of execution performance or security issue?
I need to parse the file in such a way that I can create a filesystem hierarchy as if I were enumerating files/directories. Ultimately I want to add these to a tree gui control with everything under its proper node without duplicating anything. It should look roughly like so:
dir -file -dir -file -dir -file
I can open the file and add nodes/children to the tree control but how should I go about doing the actual parsing? How can I find a filename and say "this belongs under this node"? I want to do this efficient as possible even if I must use multiple threads.
So I'm attempting to write a program that will parse through a large file (genome sequences) and I'm basically wondering what options I should consider if I wanted to either:
a) store the entire genome in memory and then parse through it b) parse through a file in small portions
If I go with "a", should I just read a file into a vector and then parse through it? And if I go with "b" would I just use an input/output stream?
My problem is my edit distance values are stored in a 2d array of ints and exported to a .csv and the ones at the end are rather LARGE.
The the edit distance max should be around 2000 but i am getting values of 1-100million, the weird thing is that I have checked back through my function and tested various parts of it and still dont understand where it is going wrong i thought it could be my memcpy and memmove parts but i have had no luck.
I've written a Hexadecimal/ASCII chart, and would like to be able to show a larger version of the selected ASCII on screen. Is there a way to read the individual lines of bytes that make up a letter/symbol/number to show on screen.
|0|0|0|0|0|0|0|0| = 0 |0|1|0|0|0|0|1|0| = 66 O O ( These 'O' represent ASCII 219 ) |0|0|1|0|0|1|0|0| = 36 O O |0|0|0|1|1|0|0|0| = 24 OO |0|0|0|1|1|0|0|0| = 24 OO |0|0|1|0|0|1|0|0| = 36 O O |0|1|0|0|0|0|1|0| = 66 O O |0|0|0|0|0|0|0|0| = 0
To make a large graphic X.
I'm using Microsoft 2012 Express, in the console. I don't feel comfortable yet programming in Windows mode.
I'm having problems with progress bar when using a big number in set range. For numbers below 50000 it works very well but for big numbers like 100.000 it doesn't work, it makes 2-3 rounds of animation
Code: int number= 50000; // 50k works well but if i put 100k it won't work (it will animate 2-3 rounds instead of complete one) progressbar1.SetRange(0, number); progressbar1.SetStep(1); for (int i = 0; i < number; ++i) { listcontrol1.InsertItem(i, _T("whatever")); progressbar1.StepIt(); }
I have a problem to read a large number of binary files, process them and store them under a new name. The program and routines go very well for 505 files. After reading 506 files, the program now refuses to read the next file. I have 16 Gb of memory and tried to close all other programs and restart the PC. it always stops after 506 files (512 files would be more understanding in a way...).
Here is my code. I have tried many things without success. This is only part of the loop that stops. The if test if (myfile.is_open() returns false by some reason. I can start the process again starting with the file that does not open and then it stops again after 506 files.
char * tfiBlock; ifstream myfile (OrigFilename, ios::in|ios::binary|ios::ate); if (myfile.is_open()) { int lengde = myfile.tellg(); tfiBlock = new char [lengde]; //static char memblock [size];
[Code] .....
Clean up procedure: delete[] tfiBlock;
Are there any limits to how many files that can be opened, or is it maybe someting to be set in the compiler?
I have managed to make a program that permutates a string with repetition.
I ran it to permutate "abcdefghijklmnopqrstuvwxyz1234567890" with a limit of 5 characters.
This took a little over 5 hours for my pc to process this and I ended up with a .txt 403MB in size. Needless to say I am unable to open this .txt in notepad without Notepad.exe not responding and me having to end the process.
So what I want to do is modify my code to break up the output in to several files rather than one. Possibly all permutations starting with a in one file, b in another, etc.
Here is my current code: #include <iostream> #include <string> #include <sstream>
[Code]....
As you can see it currently appends permutation.txt with all output. I would like it to make files like this permut_5char_a.txt, permut_5char_b.txt, etc.