C++ :: How To Use One Index To Iterate Between All The Values

Sep 6, 2013

How can I use one index to iterate between all the values

for example:

//I defined
vector<typeA> VA(XD,typeA());
vector<typeB> VB(XD,typeB());

//then the standard method to iterate is:
for(vector<typeA>::Size_type i=0; i<VA.size(); i++) {
VA[i].functionA();
VB[i].functionB();
}

the other way, use int,

//I defined
vector<typeA> VA(XD,typeA());
vector<typeB> VB(XD,typeB());

//then the standard method to iterate is:
for(int i=0; i<VA.size(); i++) {
VA[i].functionA();
VB[i].functionB();
}

none of above make me feel formal...

View 7 Replies


ADVERTISEMENT

C :: Order Values Of Int Array Only Between Two Index Numbers

Mar 16, 2013

I have 2 arrays, one of doubles and other of integers, the doubles have the result of division of two numbers and the array with the ints have numbers that will refer to another array, but it is not important for this problem.

An example:
doubles array: (12,44;12,44;7,22; 12,44)
ints array: ( 4 , 2 , 3 , 1 )

now using my quicksort function i will organize the array of doubles from the higher to the lower, and the ints array will follow the order of the doubles array, the result is :

doubles array: (12,44;12,44;12,44; 7,22)
ints array: ( 4 , 2 , 1 , 1 )

Well, when i have values in the doubles array that are equal, i need to check the ints array and order the ints values, but only the ints that in the doubles array are equals, the final result will be:

doubles array: (12,44;12,44;12,44; 7,22)
ints array: ( 1 , 2 , 4 , 1 )

How i can order the ints array only between an interval that is given by the interval of numbers that are equals in the doubles array?

View 4 Replies View Related

C++ :: Item Search Based On 2 Values For Index?

Apr 4, 2013

I have to be more code specific (I usually try to abstract my code). As you can see I use a lot Qt classes... however they work very similar to standard libraries, so it should be not a problem to look at this question.

class FrameManager {
QList<FRAME> frameData;
public:
int frameID(int grpno, int imgno);
};

[Code] ....

Now I know the example search only the ID and doesn't allow the access of the actual data... this is not the question.

The problem is... I will need to define an AnimationManager class that will collect sequence of frames (identified by the unique couple of value) in animations... so it will need to use a massive search of item from the couple of value (and not ID, unluckly)

I fear if I use an approach similar to the one written in the example (search from the start to the end until the element is found) can be very unefficient.

In the same time the AnimationManager should always know if frame exist or not (if not exist an invisible image will be shown) and if in the meantime changed.

Another problem is that I cannot order the data sequence inside FrameManager (becouse it is expected to mantain the original order, even when it is chaotic).

I tried to take a look around QMap (or std::map) but it is not clear at all how the optimiziation works and how I can use it in my case

I tried also to take a look at the "hash" concept, but for me it is too complex to understand deeply.

So... I am feeling like I am entrapped... I am unable to find a good "exit"...

View 8 Replies View Related

C++ :: For Loop To Find Index Values - Reference List

Mar 18, 2013

im using a for loop to find the index values of the tied high scores and store them into string list then reference list in the second for loop to output it to screen however it isnt letting me use an array with index i as an index its self.

void printHighest(Student s[], int length){
int index;
string list[10];//you're never going to have more than 10 people with a tieing highscore.
index = findMax(s, length);

[Code] ....

For the time being I simply removed the idea of string list and just put the contents of the second for loop into the if statement above it. However, I am still curious as to if I can reference an index of an array in an index of another array.

View 1 Replies View Related

C/C++ :: Take Values From One Array And Searches For Their Index Position In Another Array

Dec 9, 2014

My program takes the values from one array and searches for their index position in another array (linear search algorithm). This is an example of the issue im having(its not part of the actual code below)

a[]={1,2,3,4,5,6}
Arr[]={1,2,2,3,4,5}

If it finds 1 in arr, it returns 0, which is fine but if it finds 2 in arr it return 1 and 1 instead of 1 and 2.

for (int q=0; q=size2;q++) {
int rs=secfunc(array1;size1;array2[q])
if(rs>=0) {
cout<<rs << "";

[Code] .....

View 4 Replies View Related

C :: Merge Two Arrays Without Need To Iterate

Nov 19, 2013

I've come to a point in tuning my algorithm, where I need to sum the elements of two arrays, eg.:

array1: (1,1,1)
array2: (2,2,2)
arrayOut: (3,3,3)

Is there any way how to do that without need to iterate? Some memory hacks?

View 10 Replies View Related

C++ :: How To Iterate Through A For Loop Randomly

Apr 5, 2013

So I have a vector that I want to iterate through randomly, and by random I mean that each element is only accessed once but I don't want to shuffle the vector because the vector elements are large. So I want this functionality:

std::vector<SomeLargeObjectWithoutACopyConstructor> myvec;
// ...fill myvec
std::random_shuffle(myvec.begin(),myvec.end());
for (auto& value : myvec)
{
// do stuff
}

Only I don't want to do this because the object type has no copy constructor and is large, so I don't want to shuffle the vector, just the iteration path. Is there a simple and efficient way of iterating randomly through a vector while ensuring that each object is only accessed once?

View 3 Replies View Related

C++ :: How To Iterate Through A Two Dimensional Vector

Apr 25, 2014

How do I iterate through a two dimensional vector? To iterate through and print the elements of a single dimensional vector I use:

vector<int> a;
for(vector<int>::iterator it=a.begin();it<a.end();it++)
cout<<*it;

How do I do the same for a two dimensional Vector?

View 2 Replies View Related

C++ :: How To Properly Iterate Over A Container

Oct 31, 2013

so i have a container called Source that is of type std::map<std::string, std::vector<std::string>> but when I try to print it with this function:

void Lexer::PrintSource()
{
for(auto Iterator = this->Source.begin(); Iterator != this->Source.end(); Iterator++)
for(auto SubIterator = Iterator->begin(); SubIterator != Iterator->end(); SubIterator++)
cout<< *SubIterator << endl;
}

i get these errors:

Lexer.cpp: In member function 'void Lexer::PrintSource()':
Lexer.cpp:29:42: error: 'struct std::pair<const std::basic_string<char>, std::vector<std::basic_string<char> > >' has no member named 'begin'
for(auto SubIterator = Iterator->begin(); SubIterator != Iterator->end(); SubIterator++)
^
Lexer.cpp:29:76: error: 'struct std::pair<const std::basic_string<char>, std::vector<std::basic_string<char> > >' has no member named 'end'
for(auto SubIterator = Iterator->begin(); SubIterator != Iterator->end(); SubIterator++)
^

View 6 Replies View Related

C++ :: How To Set Pointer And Iterate Through A Matrix

Aug 8, 2012

How can a set a pointer , to a matrix example matrix[20][20] and iterate ( loop ) in each row first sort of X first and then Y through it using the pointer , how to setup dynamic allocation

through pointer = new matrix[20][20]

and finally call delete on pointer when done with the matrix.

View 4 Replies View Related

C :: Iterate Through A User Inputted Integer?

Oct 5, 2014

I need to allow the user to input an integer of any length and print out the word of each number in the integer. So the user would enter "324562" and then the output would be "three two four five six two". I'm struggling to understand the best way to do it in C. I know I need a loop that goes through the int but I don't know how to do it

View 7 Replies View Related

C++ :: Iterate Through A Vector In Constant Function

Mar 21, 2014

I need to iterate through a vector in a const function, and, as my function is called very often, to get more performances I need my iterator to be declared somewhere else than the function, so it doesn't have to get deleted and recreated over and over again. So here is my code:

class Shop {
public:
//methods
virtual void draw(sf::RenderTarget &target, sf::RenderStates states) const{

[Code] ....

Seems great? Well no. I actually get an error on the "for" line.

It tells me : "You can't use '=' here" and "You can't use the ++ operator here"

The thing is, if I actually declare my iterator in the loop, the compiler stops giving me warnings, but, as I said, I really want to avoid doing that.

View 4 Replies View Related

C++ :: Iterate Through Container And Find Value Mapped To A Specific Key

Jan 14, 2014

A C++ container type called std::map is used to store elements that are formed by a combination of key value and mapped value. How do you iterate through this container and find the value mapped to a specific key?

View 3 Replies View Related

C++ :: Enable Client To Iterate Internal Vector

Nov 26, 2012

The example enable a client to iterate the internal std::vector using being() and end().

Code:
class foo {
public:
typedef std::vector<std::string>const_iterator iter;
iter begin () const;
iter end () const;

[Code] .....

In the future I see the need for this class to be able to control sequence (sorting) and also show a subset of the complete list based on a search parameter.

Using std::sort appear to solve the ability to sort the collection.

How can I return an iterator to the client which only iterates a sub-set of all items in the std::vector?

An example would be, I add this method to the class;

Code:
void find(const std::string& st);

So if the client performs (below) only items in std::vector that contains the character "a" should be possible to iterate.

Code:
foo f;
f.search("a");

One option would be to operate with two collection inside the foo class. One more static containing all items and the other containing the sorted and filtered items. This would lead to some copying but should work. Far from perfect.

View 2 Replies View Related

C :: When Try To Iterate Two Times Or More - Program Gets Stuck In Infinite Loop

Mar 18, 2014

I'm having trouble getting my loop to work correctly. If I iterate the for loop once it works as expected and displays proper output. When I try to iterate two times or more the program gets stuck in an infinite loop.

testData8.dat:

Code:
12 9
13 756

View 3 Replies View Related

C++ :: How To Use Dynamic Memory Allocation And Pointers To Iterate Through The Arrays

Dec 21, 2014

I need to use dynamic memory allocation and use pointers to iterate through the arrays that I have already in this program. I am lost, nothing I do works and where to use the pointers. I am just looking for a push in the right direction so I can finish this project and how I can implement pointers in my program.

#include <iostream>
#include <string>
#include <cstdlib>
#include <iomanip>
#include <stdio.h>
using namespace std;

[Code]...

View 1 Replies View Related

C/C++ :: Iterate Through Array And Search For A Number That Was Stored By User

Nov 23, 2014

So I have an issue with a homework assignment that I am coding. I am attempting to get a function to iterate through an array and search for a number that was stored in an array by the user. So far I can take the number, get the numbers displayed but in my menuChoice2 function, for some reason the program is not confirming whether or not the number is entered, and is only telling me that the number has not been found, instead of confirming that the number is in the array.

Here is my code thusfar:

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
// Variables that are Globally declared
int menuChoice = 0;
int usernum[1000] = { ' ' };

[Code] .....

To be clear I am not getting any errors but something is telling me that the error is in the formatting of menuChoice2.

View 14 Replies View Related

Visual C++ :: Unable To Iterate Over A Vector In Nested For-Loop

Jan 20, 2014

So I have this problem with not being able to iterate over a vector in a nested for-loop. Here's the nested for-loop:

bool innerHit = false;
for (std::vector<Sprite*>::iterator outerIter = sprites.begin(); outerIter != sprites.end() && (!sprites.empty()); outerIter++) {
Sprite* spriteOne = *outerIter;
for (std::vector<Sprite*>::reverse_iterator innerIter = sprites.rbegin(); innerIter != sprites.rend() && (!sprites.empty()); innerIter++) {
Sprite* spriteTwo = *innerIter;

[Code] .....

What happens is, after having called the collisionDestroy-function and the program tries to execute the nest loop in the outer for-loop, it all crashes with the text "Expression: vector iterator not decrementable", which I understand is because the iterator will have already become useless. The question is: know this, how do I fix it? I can't seem to get a hang of it.

Here's the collisionDestroy-function (the collisionReaction does nothing but sets a few local variables):

void Enemy::collisionDestroy(std::vector<Sprite*>& sprites) {
for (std::vector<Sprite*>::iterator iter = sprites.begin(); iter != sprites.end(); iter++) {
Enemy* tmp = dynamic_cast<Enemy*>(*iter);
if (this == tmp && collisionType == 3 || collisionType == 1) {
sprites.erase(iter);
break;
}
}
}

View 14 Replies View Related

C/C++ :: Iterate 2D Matrix In Order To Exchange Columns And Rows Using Pointers

Jan 19, 2014

I am trying to iterate a matrix in order to exchange rows and columns element by element. Although the function that exchanges the rows has come out well, i don't seem to figure out how to do the same on columns.The columns switch for a matrix like

1 2 3
1 2 3
1 2 3

if i try to switch column 3 and 2,is:

1 3 2
1 3 2
1 2 3

Here are both of the functions:

void interchange_rows(int *p,int n,int r1,int r2){
    int temp;
    for(int i=0;i<n;i++){
            temp=*(p+r1*n+i);
            *(p+r1*n+i)=*(p+r2*n+i);
            *(p+r2*n+i)=temp;
   
[Code] ......

View 1 Replies View Related

C++ :: Iterate Through Char Array And Pull IP Addresses To Test If They Respond

Apr 8, 2013

I am trying to write a loop that will iterate through a char array in C and pull the IP addresses and test them to see if they respond. My ultimate goal is to have the first one that responds returned in the function, but the loop is not running correctly. It will run through right the first time, but then will start over again.

Code:
const char * getServer(char *svrList) {
char *srList;
srList = strtok(svrList, " ," );
printf("Contents of srList b4 loop: %s
", srList);
printf("Server List: %s
", svrList);

[Code] ....

Code output:
Contents of srList b4 loop: 1.1.1.1
Server List: 1.1.1.1
result is "1.1.1.1"
Hitting else loop
Contents of srList in else: 2.2.2.2
result is "2.2.2.2"
result is "2.2.2.2"
Contents of srList b4 loop: 1.1.1.1
Server List: 1.1.1.1
result is "1.1.1.1"
Hitting else loop
Contents of srList in else: (null)

View 14 Replies View Related

C++ :: Iterate Through A File Path To Extract File Name

Feb 20, 2014

I am trying to iterate through a file path to extract the file name. since the . separating the name from the extension is a unique character, i thought i would reverse iterate from the . to the first separating directories. however, when trying to reference the memory location of the position of the . in the string, i am getting an i-value error:

for (std::string::reverse_iterator iter = &(songPath.find('.')); iter != songPath.rend(); ++iter) {
if (*iter == '')
break;
else
songName.push_back(*iter);
}

View 3 Replies View Related

C :: Array Out Of Index

Apr 17, 2014

I was trying to debug a code which was behaving in an abnormal way

Code:

#define NOOFELEMENTS 32
unsigned char array[NOOFELEMENTS];
unsigned char array1[23];
init() {
for(i=0;i<=32;i++)
{
array[NOOFELEMENTS] = 0
}
}

I could trace the above one of the mistakes where the array initialization is crossing the array limits and writing into array[32] which is not available. My question does it overwrite into array1 as it is declared below array or it can write into any other location.

View 4 Replies View Related

C++ :: Input Value Get Index

Sep 9, 2014

I am trying to get the index of a value by inputting the value:

For example if i have

int arr[5]={22, 85, 58, 78, 69};

indexOfItem(arr, 78);

and have the output be:

the index of the item is: 3

View 3 Replies View Related

C++ :: Row And Column Index?

Dec 16, 2013

If i have current index and row/columns count how do i get on which row and on which column index is individually?

This is what i have tried, but column index is incorrect:

#include <iostream>
int main()
{
int rows = 5;
int colm = 6;
int inx = 12;
int rowInx = inx % rows;
int colInx = inx % colm;
std::cout << "row: " << rowInx << std::endl;
std::cout << "col: " << colInx << std::endl;
return 0;
}

View 4 Replies View Related

C# :: Index Out Of Bounds Error

Jun 27, 2014

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Chapter7Problem13

[Code] .....

I keep getting an out of bounds error in my code

I'm suppose to enter number of orders then enter those orders then calculate a discount and net price display the orders, discount, net price then the totals at the bottom ....

View 5 Replies View Related

C :: How To Get Index Of Structure Elements

Apr 9, 2013

I want to get the starting index of structure elements, whoz id are 0,1,2,3 Like in below code col_data[0] (starting id=0) col_data[3] (starting id=1) col_data[5] (starting id=2) col_data[8] (starting id=3) Code:

Code:

typedef struct gg{
int id;
int value;
}

[code]....

How can i skip remaining loop iterations when it get that index and will go back to loop again for getting next element index?

View 7 Replies View Related







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