C++ ::  permutation For Two Different Lists

Nov 7, 2013

I got a permutation question, I got two different std::list:

list<string> slist;
slist.push_back("str111");
slist.push_back("str222");
slist.push_back("str333");

list<int> ilist;
ilist.push_back(100);
ilist.push_back(200);

I need the permutation for both two lists, the result should be like this:

#include <iostream>
#include <string>
#include <list>
#include <algorithm>
using namespace std;
template <typename value_t>
void dump_list(const list<value_t>& lst) {

[Code] ....

See, there are two do while loop, if I need a permutation with more than two lists, there'll be more and more do-while loops, that's make code looks ugly, I wonder if stl has some tricky way that can do this with just one next_permutation.

View 5 Replies


ADVERTISEMENT

C++ :: Find Every Permutation With Length From 1 To N?

Jan 29, 2015

I need to be able to find every possible permutation using all possible values of a char. But I have to make it be able to form permutations from a length of 1 to variable N. For example, if N=3, I need it to be able to come up with

0x00
0x01
.......
0x00 0x00
0x01 0x01
.......
0xff 0xff 0xfe
0xff 0xff 0xff

How could I do this. (I would like to avoid recursion, since N might be as large as 50 or 60 and using recursion would most likely cause a stack overflow)

View 3 Replies View Related

C++ :: Next Permutation Logical Error

May 11, 2013

I wrote this code to solve a problem in which the user inputs a permutation of size 'N' and the next permutation of the same elements has to be generated.

I went about this in this way: given 3 2 5 4 1, starting from the right, the first no. has to be searched which has a no. greater to it on its right. Here it is 2. Now an array is generated containing all no.s on its right and greater than it. For 2, it is: 5,4. Out of these the smallest member is searched for and switched with 2. So, 4 is switched with 2 to get the Next Permutation: 3 4 5 2 1.

The code I wrote does not show any error but does not return the correct value when run and gives the same value instead. If I enter '3 2 5 4 1' it returns the same value as the answer.

#include<iostream.h>
#include<conio.h>
void main() {
clrscr();
int N,M,i,n,c,swap,flag,count,small,m;
int Array[100],Key[100];

[Code] .....

View 2 Replies View Related

C++ :: Permutation Combination With Range Of N

Aug 10, 2013

#include <iostream> // std::cout
#include <algorithm> // std::next_permutation, std::sort
int main () {
int myints[] = {1,2,3};
std::sort (myints,myints+3);
std::cout << "The 3! possible permutations with 3 elements:

[Code] ....

this will result

123
132
213
231
312
321

The question is : If I want to get a permutation combination with range of N

What should i do?

if N = 2
result should be 12,13,21.....such and such

Eliminate the last digit is working for 3 combination but if its going to a bigger number it does not work ...

View 5 Replies View Related

C/C++ :: Circular Permutation Through Function

Jan 17, 2015

I need to create such a function that the content of the first is put into the second, the content of the second into the third and the content of the third into the first.

For example, output should be like this
3
2
1
But the code below prints out:
1
2
2
Where am I making a mistake?

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>

[Code]....

View 2 Replies View Related

C++ :: Generate Random Permutation In Array

Feb 16, 2013

I'm currently working on assignment which requires to generate a random permutation of the first N integers. For example, if N = 4, one possible answer is {3,1,2,4} without duplicates. {3,3,2,4} is not correct

to fill a[4], generate random numbers until you get one that is not already in a[0], a[1], ..., a[n-1]. for a[0] whatever random number you generate can be put in it. So here is my code. It seem to works but sometime it give duplicates.

#include <iostream>
#include <stdlib.h>
#include <time.h>

[Code].....

View 3 Replies View Related

C :: Read A Text File That Contains Permutation Rules

Mar 27, 2014

I have been given an assignment that has to do with permutations. I am suppose to read a text file that contains the permutation rules and the text to be "permutated", and then output the rules and the new text into an output file.

So far, I've gotten this:

Code:
# include <stdio.h>
void printArray(FILE* file, char* array, int maxSize)
{
int i;
for (i = 0; i<maxSize; i++)
fprintf(file, "%c", *(array + i));

[Code] ....

Here is what the input file looks like:

Code:
0 1 2 3 4 5 6 7 8 9
4 5 6 0 9 7 8 1 2 3

Moderation in temper, is always a virtue; but moderation in principle, is a species of vice.

Here is what the output file is suppose to look like:

Code:
0 1 2 3 4 5 6 7 8 9
4 5 6 0 9 7 8 1 2 3

ratMnioodetem rpein al,ywa isvirsetu a t m;eod
buon r inaticipp,lerina s cpeis of icvies - Temho.
-ainaPes

The first two lines are the permutation rules. Currently I have figured out how to read the file into an array and then print it back out into a text.

What I want to do is figure out how to read only the first two line of the input file and store that as a permutation rules, and then continue reading the rest of the input file and store that separately as the text to be "permutated". And then eventually figure out how to apply the permutation to the text.

View 3 Replies View Related

C++ :: Make A Function That Checks If Array Is A Permutation

Feb 16, 2014

I need to create a function with the following prototype:

bool isPermutation( const unsigned a[], unsigned elements );

unsigned a[] = {3, 0, 2, 1};
bool P1 = isPermutation( a, 4 );
would set P1 to true because the set of subscripts is {0, 1, 2, 3}, and the values are just a reordering of those values. On the other hand,

unsigned a[] = {3, 0, 2, 3};
bool P2 = isPermutation( a, 4 );
would set P2 to false because the set of subscripts is {0, 1, 2, 3}, but there’s no value that’s equal to 1.

I'm not exactly sure how to do this. I thought about it a couple different ways. I first thought about taking the range (max/min) and then checking to see if the numbers in between are equal from each other, distance-wise.

I then thought that I should just make this basically a sort function (I used bubble-sort), and then to just check if the numbers are equi-distant from each other.

This is my basic bubble-sort. Perhaps it is wrong, but I'm not certain...Perhaps I am making this function harder than it has to be.

unsigned temp = 0;
for (unsigned i = 0; i < elements; i++){
for (unsigned k = 0; k < elements-1; k++){
if (a[k] > a[k+1]){
temp = a[k+1];
a[k+1] = a[k];
a[k] = temp;
}}}

Should I do a sort like this, and then do something where I subtract a[i+1] - a[i], and see if that equals '1'?. I would think that would mean they would have to be equidistant. Even if this is correct, I feel like it could be more efficient.

View 4 Replies View Related

C :: Write A Function That Computes And Returns Score For A Permutation

Mar 21, 2014

Write a function that computes and returns the score for a permutation, i.e. the number of reversals required to make arr[0] == 1.
HAVE TO USE FOLLOWING FORMAT:

Code:
// POST: Returns the number of reversals needed to make arr[0] == 1
// if the reversal game were played on arr
// Note: If arr[0] == 1 initially, then score(arr, n) returns 0 AND this is what i could muster;
[code]....

View 2 Replies View Related

C++ :: Linked Lists - Trying To Revive

Dec 27, 2013

I'm trying to set up a simple implementation of a double linked list. I can't make it fly.

Code:
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

using namespace std;

[Code] ...

I seem to create a root vertex, but I can't establish if I connect sub nodes to my list.

View 13 Replies View Related

C :: Merging Two Linked Lists?

Mar 6, 2015

I am merging two linked list but the output of the program is not printing insert

Code:
typedef struct Merge
{
int info;

[Code].....

View 1 Replies View Related

C :: Dynamic Linked Lists

Oct 14, 2013

In our homework assignment it states to, "write a set of dynamic linked lists" and so on. Now, the problem I'm confusing myself is at the storage inside of each node. To my understanding, each node contains the prev and next nodes, but also a pointer to the data, in this case being a string. He has asked us to manage these strings as rows of chars such as

char[0] = c // first node being addressed here
char[1] = a
char[2] = t
char[3] =
char[4] = d // second node starting here
char[5] = o
char[6] = g
char[7] =

I have written my code where each node is holding a string, not separated as shown above... my question is to how you can build your doubly linked list where each node is being address a set of chars.

View 1 Replies View Related

C :: Structured Lists From Text

Apr 5, 2013

New to this C stuff, and was going through Kochan's book Programming in C and got to chapter 9 structured lists.There's this problem that requires you to set a Variable N that calculates days.

N = 1461 x f(year, month) / 4 + 153 x g(month) / 5 + day
where
f(year, month) = year-1 (if month <=2)
=year (otherwise)

g(month) = month+13 (if month <=2)
= month+1 (otherwise) Code:
struct date {
}

[code]....

I was having issues getting the right values for N so I tried to see what T1.year gives me when I type in firstDay.month=02, firstDay.day=08 and firstDay.year=1999, and I got 8. According to book I should be getting 1998.

View 2 Replies View Related

C++ :: Nodes In Linked Lists?

Feb 26, 2015

I created a bunch of nodes and I made each one before one another. Im having trouble adding another node to the last one.

#include <iostream>
using namespace std;
struct nodeType{
int info;
nodeType *link;
};
void printList(nodeType *head) {
nodeType *current = head;

[code]....

The node with the value of 400 is the node that has to be last.. How would that work?

View 3 Replies View Related

C/C++ :: Working With Linked Lists?

May 11, 2014

I'm trying to do is let the user type in something like A654321 (note: these are ALL the characters, i.e. 'A', '6', '5', '4', etc..) Then I just want to display that current number back to them and I am getting some weird pointer memory allocation error..

#include<iostream>
using namespace std;
//To rename data-type "int" or integer to "element" (Both are equivalent)..
typedef int element;
//To declare an appropriate SENTINEL.
char const SENTINEL = '#';

[code]....

It seems like the first part that it bugs out at is in my Clean(); function..

Unhandled exception at 0x01383FBB in VegMe.exe: 0xC0000005: Access violation reading location 0xCCCCCCD0.

It doesn't like head = head->next; ?Also, ignore the ReverseList(); function, it is not being used as of now.

View 7 Replies View Related

C/C++ :: How To Get Rid Of Lists And Vectors In Program

Apr 16, 2015

I want to get ride off lists and vectors in this program i also don't want to use classes, just want to use strings functions and structures...

#include <iostream>
#include <string>
#include <list>
using namespace std;
struct contact {
string name;
int studentiD;

[Code] ....

View 1 Replies View Related

C++ :: Program To Sort Lists?

Aug 12, 2014

What I want to create is a program that sorts through a huge list (millions of lines).

I want it to get rid of any line that contains a word that isn't in an English dictionary.

Example list:

00sdfdsf
ahdadsg
angel
ksjflsjdf
green
green000
carrot

and it would go through millions like that, giving me only:

angel
green
carrot

as my new list.

How could I go about this? What programs would I need? And at the very least how can I remove unwanted things like numbers, double letters, underscores etc.?

View 3 Replies View Related

C++ :: Traversing Array Of Lists Of Objects?

Nov 13, 2013

I am working on building a graph of a maze problem using an adjacency list and my own custom class Node.

Each Node has a vNum and jumpAmount integer variable, the vNum is the unique key.

If I have an array of lists of Node objects declared by: Code: forward_list<Node> adjacencyList[10] I skip the 0 row and only use 1-9. It makes more sense logically for my program and Im not worried about wasted memory at this point.

How could I go about traversing and outputting member variables for all the Nodes in each list in my array?

Say my code builds the following adjacency list:

Code:
1 -> { 2, 3, 4, 7 }
2 -> { 1, 3, 5 }
3 -> { 1, 2, 6 }
4 -> { 1, 5, 6, 7 }
5 -> { 2, 4, 8 }
6 -> { 3, 4 }
7 -> { 1, 4, 8 }
8 -> { 5, 7, 9}
9 -> { 8 }

where the values in brackets are the nodes that have an edge with the ith row node. Had to put it in code tags for the thread to be allowed to post.

I am using the forward_list library for my list functions and this is where my problem arises. The cplusplus.com - The C++ Resources Network website iterates through the list using:

Code:
for ( auto it = mylist.begin(); it != mylist.end(); ++it )
std::cout << ' ' << *it;

Obviously this works for ints, doubles, etc, but not objects with member variables. My attempt to replicate this code for my problem looks like:

Code:
for( int i = 1; i < 10; ++i ) {
cout << "Node " << i << " -> { ";
for( Vertex it = adjList[i].begin(); it != adjList[i].end(); ++it )
{
cout << it.getVNum() << ", ";
}}

I have to come up with user defined conversions for this to work and I have never done such a thing. Is there a way to go about doing this to avoid user defined conversions, because if there isnt I feel like attempting to do this specific problem might be a little too difficult for someone who hasnt defined any custom conversions.

Potentially, I could write my own List class and have a next pointer member variable that points to the next object in the list and use that to use a dot reference to a get function to display member variables. This is how I learned linked lists back in my Data Structures class. However I am trying to avoid that for the time being, as that would be a lot more code to implement rather than just figuring out how to use the forward_list library.

View 4 Replies View Related

C# :: Finding The Size Of Multiple Lists

Sep 21, 2013

I am writing a Windows Form program, and currently it has 3 Lists. I need to loop through all three, and use each possible combination, so am using three nested for loops.

I found that if the outer loop had less elements than one of the inner loops/lists, some were missed off, as I need to save all the possible combinations of list a + b + c.

This is what I wrote:

Code:
public int CalculateOrderToProcessLists()//for three lists
{
int order = 0;
if (sListOne.Count() > sListTwo.Count() && sListTwo.Count() > sListThree.Count())
{
order = 123;

[Code ....

My problem is I would like to be able to have 4 (or more if possible) lists, and to calculate what order to process the lists will be exponentially more complex.

Any better way of comparing the sizes of the lists, so that I can use the nested loops of say 4 lists, but being able to use N number of lists would be awesome.

View 2 Replies View Related

C :: 3D Array Of Pointers To Linked Lists

Aug 8, 2013

I am having some trouble getting a 3d array of pointers to link up with a linked list for each of the array elements. the 3d array of pointers is declared like this:

Code:

struct particle *cell[MAXCELLS][MAXCELLS][MAXCELLS]; and there are linked lists declared like this:
Code: struct particle { /* structure for particles */
double sw[3]; /* square well components */
double hs[3]; /* hard sphere components */
double u[3]; /* unit vector for rotations */
struct particle *link;
};

I want to get the array pointers 'cell[x][y][z]' to point to the first observed particle in a function next to main, something like this:

Code:

void generate_list(){
int i,j,k,l;
/* determine the number of cells to decompose the simulation box in each of x, y and z directions*/
int(cells_x) = floor(boxX/cell_size);
int(cells_y) = floor(boxY/cell_size);
int(cells_z) = floor(boxZ/cell_size);
/* initialise the array of pointers to NULL */
for (j=0;j<cells_x;j++){

[Code]...

I am getting a pointer type cast error when I compile "assignment from incompatible pointer type",

View 6 Replies View Related

C :: Reading A File To Linked Lists?

Jun 20, 2013

I have to write a program that reads from a text file, which contains a list of stock hourly prices and the company names. Something like this:

78.52 82.56 75.10 71.97 Water Company
22.40 25.68 21.37 22.96 Mega Shipping Inc

Each company data will be kept in a structure that contains: a pointer for the name, an array of the prices, and the average price for the day. The structures will be kept in a linked list. Each node structure will contain a pointer to one company data, and a pointer to the next node structure.This is all I have so far..

Code:

typedef struct {
char *companyName;
double hourlyPrices[NUM_PRICES];
double avgPrice;
} COMPANYDATA;

}

[code]...

We have to sort the nodes alphabetically. My question is, how do I read the data from the file one line at a time, and insert them alphabetically one by one?

View 7 Replies View Related

C++ :: Compare Single Value With A Value From Linked Lists

May 2, 2013

I'm trying to compare a single value with a value from my Linked list and if they are same, I want to add the value from the list to new list. In other words I want to create a new List with values with the first one. Here is the code that I made, but it's not working.

This is the code with which I search in the first list for a node with a value. In the main() function I have A.find_city(), so it can start from the start_pointer from the first list:

void List::find_city() {
List *temp1;
int b = 0;
char city[20];
cout << "Enter city: ";
cin >> city;
temp1 = start_ptr;

[Code] ....

This is the code with which I add a node to the new list:

void List::in(List *temp1) {
List *temp2;
if(start_ptr == NULL)
start_ptr = temp1;

[Code] ....

View 9 Replies View Related

C++ :: Stack Implementation Of Linked Lists

Jun 7, 2014

I have this code that I need to memorize for my final. Memorizing code is easy for me, but I'm trying pretty hard to fundamentally understand the functions, and what they are doing (even using pen and paper, to draw and trace).For example, in the push function below, I understand everything, except why I'm setting ptr = p. I feel like p should be equal to NULL, then the next node I push should be equal to p, etc.

Stack & Stack::push(double x)
{
Node * p = NULL;
try
{
p = new Node;
}

[code].....

Also, are LL Queues that hard to implement once you can do them w/stacks - That will probably be something I have to code for my final, as well. Below is the full code for my Stack class.

#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
class Stack
}

[code]....

View 1 Replies View Related

C++ :: Counting Of Elements In A List Of Lists

May 1, 2013

I have a problem like this: I do not know how to count the number of elements in a list of lists. I have the following list of list.

#define VAR(V, init) __typeof(init) V=(init)
#define FOR_EACH(I,C) for(VAR(I, (C).begin()), ite = (C).end();
(I) != ite;
++(I))

std::vector<std::vector<GLdouble> > contours;

[Code] ....

I do not know how to write the part indicated in Bold that represents the number of elements of contour. As seen from the code used for the tesselation OpenGL.

View 3 Replies View Related

C++ :: Templates And Ordered Linked Lists

Feb 10, 2014

A static method named readFromFile that takes a C-string as the first parameter, and an orderedLinkedList<MemberDO> object as the second parameter. The first argument is the filename that contains data for existing members. This method should read the data for each individual member from the input file (one line of data per member), create a new MemberDO object, and insert this object into the linked list specified in the second argument.

How do I take the second parameter in, do I need to create the Linked List first? Here is the code I have so far

#include<iostream>
#include<string>
#include <fstream>
using namespace std;

class MemberDO {

[Code] ....

What to do with the readFromFile static method?

View 1 Replies View Related

C++ :: Dijkstra Algorithm - Adjacency Lists

Feb 28, 2014

So I have been trying to implement the Dijkstra Algorithm for shortest path in a directed graph using adjacency lists, but for I don't know what reason, it doesn't print out the results (prints the minimum distance as 0 to all nodes).

The code I wrote is:

#include <fstream>
#include <functional>
#include <climits>
#include <vector>
#include <queue>
#include <list>
using namespace std;

struct node {
int vertex;
int weight;

[Code] ....

The input data was:
5 7
1 2 10
1 3 2
1 5 100
2 4 3
3 2 5
4 3 15
4 5 5

It means there are 5 nodes, 7 arcs (directed edges), and the arcs exist from node 1 to 2 with the cost of 10, from 1 to 3 with the cost of 2, and so on.

However, the output is wrong. Where the program might fail. I took the main idea from here: [URL] ....

(At the end it gives the idea for Dijkstra's Algorithm using a priority_queue).

View 3 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved