C++ :: Returning Pointer That Points To Array

Mar 5, 2013

I have a program that is trying to find all factors of an integer given. It needs to be done in a recursion function. Right now i have code similar to just getting the prime factors of a integer.

unsigned int * find_factors_using_recursion(unsigned int x ) {
unsigned int * factor = new unsigned int[];//do i put x in here ?
for(unsigned int i = 2; i < x; ++i) {
if(x % i == 0) {
find_factors_using_recursion(x / i);
*factor = (factor[i] = i);
} }
return factor;
delete [] factor;
}

When i cout the *factor = (factor[i] = i) it gives me the prime numbers of the integer passed into the function but when I return the pointer it only returns one of the prime numbers. I'm new to c++, how to return pointers from functions that would be great with an example to go with it.

View 10 Replies


ADVERTISEMENT

C++ :: Returning A Pointer To 2D Array From A Function

Dec 10, 2014

I know how to pass a 2-D array to a function. The prototype for that is void f(int (*p)[2]) assuming the array is of integers and there are 2 columns in it.

However, if I wanted the same function to return a pointer to a 2-D array, what would be the prototype?

View 2 Replies View Related

C++ :: Wrong Return Type When Returning Char Array As Pointer

Apr 25, 2014

I am writing a class Player which has several char arrays as private fields. I am trying to write a method which returns an array as a pointer, but doesn't alter the array in any way, thus the const.

Here is a snippet:

Code: class Player
{
private:
char state[MAX_STATE_CHAR + ONE_VALUE];
int rating;
char last[MAX_NAME_CHAR + ONE_VALUE];
char first[MAX_NAME_CHAR + ONE_VALUE];
int groupNumber = NEG_ONE;
public:
char * GetFirst() const
{
return first;
}

Visual studio is saying that the return type doesn't match.

View 3 Replies View Related

C++ :: Get Pointer That Iterator Points To And Store In Pointer Variable?

Apr 19, 2014

I'm making a system like twitter for class called ShoutOut.com I want to be able to get the PublicShoutOut pointer pointed to by the start iterator and assign it to firstShoutOutToDisplay and secondShoutOutToDisplay because I need that in order to pass the pointers to one of my functions. When I step through the debugger the values in start are all default values like "" and so are the values in this->firstShoutOutToDisplay but the message that start points to is being output just fine.

EDIT: got rid of irrelevant code. Am I using the correct syntax to do this?

if (start != finish) {
//getting these because a shoutout needs to be passed to the function that displays
//options for a shoutout
this->firstShoutoutToDisplay = (*start);

[Code] ....

View 2 Replies View Related

C++ :: Pointer Passed Into A Function Looses Address It Points To

Mar 7, 2013

Sem is a pointer to semantic which is a struct type variable. I pass the sem into function yylex so i can fill the semantic.i and semantic.s(s points to an array). The problem is that when sem->i = a; is used inside yylex function, sem->s stops showing to the array.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <iostream>
using namespace std;
union SEMANTIC_INFO

[Code] ...

View 2 Replies View Related

C :: Keep Track Of Size Of Blocks Of Memory That A Pointer Points To - Malloc Is Stuck On 8

Jan 8, 2014

I'm trying to keep track of the size of blocks of memory that a pointer points to. No matter what I do, this code below always outputs the integer 8.

If I change 1000 to 5, I still get 8. If I change it to 0, I get 8... If I change it to -1, I get 8. If I change int *a to double *a, I get 8. If I take away the & symbol, I get 8. If I use *& instead, I get 8.

Why? I want it to output 1000. If I change that to 500, I want it to output 500.

int *a;
a = malloc(1000 * sizeof(int));

int j = sizeof(&a);
printf("%d", j);

I want to build my skills where I can allocate, inspect and change memory sizes.

View 4 Replies View Related

C :: Returning Pointer From Function

Nov 21, 2014

As the title says, i'm using a function which returns a pointer to a struct:

the struct is the following:

Code:
typedef struct POINT
{
uint16_t x;
uint16_t y;
}

Coordinate; the function i'm using:

Code:
Coordinate * Read_XTP2046(void)
{static Coordinate screen;
//calculations to determine the coordinates
screen.x=(temp[1]+temp[2])/2;
screen.y=(temp[0]+temp[2])/2;
// and so on...
return &screen;}

The question is: how do i catch this pointer and make it into a Coordinate struct in which i can read the x and y.

In my main program i would do the following:

Code:
Coordinate cor;
cor = Read_XTP2046();

This does not work, as the function returns a pointer, but how to transform this pointer into a Coordinate struct.

View 8 Replies View Related

C++ :: Returning Local Pointer

Apr 24, 2013

I hear all the time about the rule of not returning a local pointer, but I'm not exactly sure what that insinuates. Would this example be classified as violating that rule?

class Foo {
public:
Bar* ReturnBar() {
Bar* temp = &bars.at(0);
return temp;
}

private:
vector<Bar> bars;
};

View 3 Replies View Related

C/C++ :: Returning A Char Pointer?

Mar 24, 2015

I am trying to return a char pointer so that i can re use it again. I am writing a vigenere function that takes a message, a key and an initialization vector where it performs the encryption, prints out the encrypted message and returns the encrypted message. I print out the process step by step and everything works, however i pass the answer and print it out again and only the first letter gets changed. I put my code below and my output right after that.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <time.h>
void decrypt(char *to_encrypt, char *key, char* pct);
enum flag{encryption = 1, decryption = 0};

[code].....

View 3 Replies View Related

C++ :: Returning QSharedPointer Or Raw Pointer

May 29, 2014

I have a class which looks like the following:

Code:

class Gadgets {
public:
Data* GetData() const {
return _data.data();
}
const Data * GetDataConst() const {
return _data.data();
}

private:
QSharedPointer<Data> _data;
}

You may ask why i have the second GetData() method that return a pointer to my private member, which will then expose my private member externally. I provide this function just for the case where user can do the following

Code:
Gadgets * myGadgets = new Gadgets();
myGadgets->GetData()->ModifyData(.....);

My question pertains to the use of QSharedPointer of data(), where in the doc, it says

T * QSharedPointer::data () const

Returns the value of the pointer referenced by this object.

Note: do not delete the pointer returned by this function or pass it to another function that could delete it, including creating QSharedPointer or QWeakPointer objects.

Whereas, if i were to use

Code:
Data* data as my private member class instead of QSharedPointer;

I will not need to worry if the caller do as follow

Code:
Data * data = new Data();
Data *data2 = myGadgets.GetData();
data2 = data;
delete data;

View 3 Replies View Related

C :: Returning A Pointer To Local Variable

Aug 18, 2014

Should i never return a pointer to a local variable. i have seen the following code in the standard text book.

Code:

struct node *add_to_list(struct node *list, int n)
{
struct node *new_node;
new_node = malloc(sizeof(struct node));
// some code here
return new_node;
}

new_node is a local pointer then why is he returning the new_node? Is it wrong or am i failing to understand something?

View 2 Replies View Related

C++ :: Returning A Pointer To Encapsulated Data Member

Jun 22, 2014

So, I've got this class in SDL Player that has, among other things, an SDL_Texture* to hold an image that represents the player on the screen. I'd assume it's good practice to do get() and set() functions for the class; but because textures are handled via pointers, when I write a get() function I end up returning a pointer to an internal resource; which isn't good practice I hear as it "breaks" encapsulation.

Find my code below:

#ifndef PLAYER_H
#define PLAYER_H
#include "SDL.h"
#include "SDL_image.h"
#include "CTexture.h"
class Player {

[Code] .....

View 1 Replies View Related

C/C++ :: Find Maximal Points Among Given N Points

Nov 3, 2014

Example: In a 2-D space, point A=(a1,a2) is bigger than point B=(b1,b2), if a1>b1 and a2>b2.

How do I write a presudo code to find all the maximal points among the given n points?

View 14 Replies View Related

C++ :: Randomly Remove Points From Array?

Feb 19, 2013

I was wondering if there was a way to set up a code with an array of variable dimensions that removed random points on that array i.e.

1111
1111
1111

then randomly remove a point:

1101
1111
1111

and then be able to repeat this process until all points are removed.

View 2 Replies View Related

C++ :: Returning A String Array?

Jun 15, 2014

I am trying to return a string array but am only getting the first char. I want to return something like this:

8C TS KC 9H 4S

so I can do my proper checks.

Code:
void PokerFile::splitHands(std::string playerHand) {
for (int i=0; i<=13; i++) {
playerOne[i]=playerHand[i];
}
for (int j=14; j<30; j++) {
playerTwo[j]=playerHand[j];

[Code]....

View 4 Replies View Related

C :: Returning Function To Array?

Mar 31, 2013

I need to create a function which will print a list from 100Hz to 1000Hz then 1000Hz to 9000Hz. I have created a function in order to calculate and set up the frequency values from 100Hz to 9000Hz using two for loops as shown below. However I am unsure how to return this to the array at the main.

int main(void) {
double Frequency[18];
system ("PAUSE");
return(0); } double Frequency (void)
{
int count;

[Code]....

View 1 Replies View Related

C++ :: Returning Array From A Function?

Jun 17, 2013

I am trying to neaten my code by putting them in different cpp files but in one function an array is changed:

int function(int array2[100][9])
{
for (int i =0; i < 100; i++)

[Code]....

View 9 Replies View Related

C :: Returning Char Array By Function

Mar 2, 2015

I'm having trouble returning a char array by a function, here's the code. The problem is the 'reverse' function, the purpose of the function is to send two char arrays, 'newline' containing the char array, reverse it and place it in the 'rev' char array then output it back in main, however the output remains blank so I assume there must be something wrong with the reverse function.

Code:
#include <stdio.h>
#define MAXLINE 10
int fgetline(char line[], int maxline);
void copy(char to[], char from[]);
void reverse(char forw[], char rev[], int arrsize);

[Code] .....

View 1 Replies View Related

C++ :: Returning Short Int Array In A Function

Feb 14, 2014

I'm trying to return a short int in a function..This is my function signature :

short int* StartRecord(int seconds)
this is my array :
short int waveIn[NUMPTS];

I'm trying to get the data into an array :

short int arr [] = StartRecord(3);

getting this error: Error2error C2440: 'initializing' : cannot convert from 'short *' to 'short []'

View 1 Replies View Related

C/C++ :: Char Array Keeps Returning Address?

Mar 8, 2015

Code:

charArr = new char[50];
cout << "put in value: ";
cin.getline(charArr, 50);
some_func(charArr);

[Code] ....

Let's say I enter a value: 101

It goes into the if statement but clearly I've enter 1s and 0s. When I debugged, at i = 0, the charArr[i] gives me a value of 49 when assigned to an int variable. But when I cout charArr[i] it gives me 1.

So I'm going to assume 49 is part of the address? How can I correctly check the if statement condition?

View 4 Replies View Related

C :: Array Function Not Returning Correct Values

Apr 1, 2013

I have been trying to make a function that compares all the values of the array and if they are all equal will return a value to print true. The problem I am having is that regardless of what values I enter the function is always returning true. Any way to tell the program o check all the values in one command instead I put them each,

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

int compare(int arrayA[], int arrayB[]);

[Code]....

View 2 Replies View Related

C :: Finding And Returning A Common Value From Array Of 8 Integers

Feb 23, 2013

how assignments is to write code that returns a value that is repeated more than once in an array of 8 integers.For example:

Numbers: 30 12 100 33 2 2 1 40
Output: 2

Here is my code so far:

Code:

#include <stdio.h
int main(void){
int i;
int j;
int arr[8];
int count;
int maxCount = 0;
int maxValue = 0;

[code]....

When I compile this code (on Vim), I get an error when I print the array of 8 above (see ERROR above).

View 3 Replies View Related

C++ :: Returning Dynamically Allocated 2D Array From Function?

Sep 18, 2014

How can I return a dynamically allocated 2d array from a function? Do I use like this:

int main(){
char **array;
array=func();
} char ** func(){
char** ptr=new char[5]; //five words
ptr[0]=new char[size of word1];
*ptr[0]=word1
........
return ptr;
}

View 8 Replies View Related

C++ :: Returning Dynamically Allocated Array From A Function

Jul 27, 2014

This a very simple program I created because I dont understand how do this. My goal is to be able to use the pointer *s5 throughout the program. For example I would to like to call other functions and pass that pointer through the function. I understand the dynamic allocation and pointers for the most part but Im confused here because the "new char[20]" variable will die after the function and I dont want it to.

#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
void testArray ( char *s5 );
int main ( int argc, char *argv[] )

[Code] .....

Also does strlen count the null terminator?

View 1 Replies View Related

C++ :: How To Create Array With Size Of Another Method Returning Value

May 29, 2013

I have to create array with size that returns from method

int val=test();
int arr[val];
int test()
{
// Some logic and getting result as 5
return 5;
}

I would like to create arr with 5. how can i do this.

View 7 Replies View Related

C++ :: Returning Char Array To Main Function

May 15, 2014

I want to return a char array to the main() function, but its returning garbage value.

#include<stdio.h>
//#include<conio.h>
#include<string.h>
char* strtrmm();
int main() {
char str1[100],c1[100];

[Code] .....

View 5 Replies View Related







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