Just wondering how you reset a pointer returned from a 'new' command to the first element in an array (currently I'm just using another pointer).
In the code example below the pointer returned gets moved using pointer arithmetic to clear the array. So what would reset the pointer to the first element in the array of characters?
Size = 100;
char *data = new char [Size];
// clear array
for( int l = 0; l < Size; l++ )
*(data++) = ' ';
delete[] data
I am not sure why this is happening but I am simply trying to make rounds with my code and have it stop when one of two things, or both, happen.
#include <iostream> #include "Classes.h" #include "RNG.h" #include "select.h" #include "Fitnesschk.h" using namespace std; /*Global Variables************************************/ const int column = 32;
[Code] ....
I've tried resetting and renaming all variables but I don't see any conflict. I tried declaring in different areas but no dice. The other issue I have is that fittest always returns 0 even if the function returns 1. So it infinitely loops. When I go through looking at the variables. the fittest variable never changes even if the function returns 1 and round seems to reset after reproduce is called.
Here is the supporting code.
For Fittracker:
int fittracker(person man[], int row, int column){ for (int y = 0; y < row; y++){ int fit = 0; for (int z = 0; z < column; z++){ if (man[y].data[z] == 1){
So I've actually used rand() happily without any problems so far, but now I faced a problem. I have an AI loop that initialized a random number between 1 and 2 at the beginning, so something like this:
while (condition) { int random = rand()% 1 + 2; if (random == 1) {
[Code] ....
So this doesn't really work since it doesn't actually assign a new random value. I came across srand(time(NULL)), which resets the seed, but I didn't quite get when to use it. Do I have to call it in every cycle of the loop? I'm not completely sure how this works.
I am creating a SpaceShip class, which has arrays for weapon names and damage, and variables for shields power, hull, engine power, and mass. I created two instances of the 'SpaceShip' class, 'ScoutShip', and 'Cruser'. When one of them calls the 'FireWeapons' function, it has the other call the 'TakeDamage' function, but for some reason the 'sheildPower' resets after 'TakeDamage' ends.
#include <iostream> #include <vector> using namespace std; class SpaceShip {
Is there some quick way of resetting the contents of an existing array to 0? Just to be clear, I'm not initializing the array, it already exists, has content and needs to be reset at 0. Is there a faster way than the code below?
I was having problems changing the value of my head node I passed it as an argument as head which would be the address. The parameter was defined as struct node *head. like this
I tried manipultaing pointer values to change head node value but it did not work. I saw some code online which used pointer to pointers(in code below) to change head node value it worked I dont fully understand why. Would like better understanding of why.
Would also like to know why the argument call needed &head instead of just head.
remove = deleteNode(&head,found); opposed to remove = deleteNode(head,found);
I have to write a program to print pascals triangle and stores it in a pointer to a pointer , which I am not entirely sure how to do. I also have to write the file and read it, then create a binary file. Assignment is attached. I am not the best with programming and especially with pointers. I will post my code below.
Code: #include <stdio.h> #include <stdlib.h> void writePascalTriangle(char *fileName, int heightOfTriangle, int **triangle) { FILE *fp; fp=fopen("writePascalTriangle.txt", "w");
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);
const void insertStuff(const void *key, const int value){ // I want to convert the void pointer into one // of three types of pointers(int, string, or double) switch(value){ case 0: int *intPtr = key;
[Code] .....
But this causes an error of: "crosses initialization of int*intPtr"
i have been fiddling with pointers but I don't understand how the proper syntax is written when I want to acces an element of an array through a pointer to a pointer...The code is all mostly just random bs for learning purposes. I marked the problem "// THIS LINE"
This is a sample program that declares a Matrix as a structure with an array as a pointer to a pointer. The following program is supposed to store a matrix in the structure "_Matrix" and later print the matrix just entered but it fails giving me a "segmentation fault". The sample code is given below
Code: #include <stdio.h> #include <stdlib.h> struct _Matrix { int row_size; int col_size; int **mat;
i really don't know why has a error in my code, that pass a pointer of pointer (name of a matrix with 2 dimensions). Here is the source code of a simple example where appears segmentation fault when execute (but compiles normal):
#include <stdio.h> #define LINHAS 3 #define COLUNAS 5 float a[LINHAS][COLUNAS]; void zeros(float **p,float m, float n){ int i,j; for(i=0;i<m;i++)
I need to make a copy of a string that is defined by char *full and copy it into a different pointer defined by char *duplicate. I have written code to do this however it will not work and i cannot figure it out my code is as follows:
char *duplicate = (char *)malloc(strlen(full) + 1); strcpy(duplicate, full); /*Make second version of full*/ char *Ptr = strtok(duplicate, " "); /*Split duplicate up*/
I have a full program written but i know this is where the problem is because i have used printf statements to see where the program fails. I get no errors and it compiles successfully but it hits this point of the program and it just stops and windows automatically shuts down the program.
char *full is pointing to: "To be, or not to be? That is the question: Whether 'tis nobler in the mind to suffer The slings and arrows of outrageous fortune, Or to take arms against a sea of troubles,"
I need to duplicate the string because i need to use strtok but i will need the original string later on so i need an unaltered version.
I wish to know how to traverse or loop through a dynamic 2D array using pointer to pointer as returned by the code above. Like I would in a static T[20][20] 2D array.
I'm trying to call a function via a function pointer, and this function pointer is inside a structure. The structure is being referenced via a structure pointer.
Code:
position = hash->(*funcHash)(idNmbr);
The function will return an int, which is what position is a type of. When I compile this code,
I get the error: error: expected identifier before ( token.
Is my syntax wrong? I'm not sure what would be throwing this error.
I create an instance of a base class (not derived class) and assign it to base class pointer. Then, I convert it to a pointer to a derived class and call methods on it.
why does it work, if there is a virtual table?
when will it fail?
// TestCastWin.cpp : Defines the entry point for the console application.//
error: request for member 'character' in '* ptr', which is of non-class type 'datastructure*' error: request for member 'character' in '* ptr', which is of non-class type 'datastructure*'
These errors are related to " *ptr->character='a'; printf("Ptr: %c",*ptr->character); "
I want to access "character" data inside the structure "trial" by a pointer to pointer "ptr" inside function "function",but I couldn't find a way to do this.
I'm trying to store an array of vectors using a double pointer as a 2D array, but after the first "vector" (column) has been filled, I get a segfault. I correctly included all the libraries needed, and declared all the variables; I am using this function to allocate the space for the array:
double **vec_array(int rows,int clms) /*allocates a double matrix with -rows- rows and -clms- columns */ { int i; double **m;
[Code].....
I get no error while compiling, but when I run the program I get a segfault right after having read the first vector: switching on the check I get in my output just the components of the first vector and then the segfault:
int *ptr; printf("Output: %d %d %d ",sizeof(ptr), ptr, ptr+1);
Output: 4 214734480 214734484 when size of the pointer is the same "4 bytes" whether its a char pointer or a int pointer, but why a char pointer increments 1 where as int pointer increments 4.
So I was playing around with trying to do an integral using pointers. I've written what I'm trying to do already using arrays
Code: #include <stdio.h> #include <math.h> #define RANGE 500 // Final temp = T0 + RANGE int main() { int i, j, h = 1, T0 = 300; float k300 = 148, alpha = -1.25;
[Code] ...
Which works just fine. Instead I want to try to go through it using pointers. Is there a good way to go through the first loop above, something like?
Code: #include <stdio.h> #include <math.h> #define N 501 // Final temp = T0 + N int main() {
Here is a function,which deletes the spaces of a string...
char *removespaces(char *s1) {
Code: char *s2=s1; int i,j=0; for (i = 0; i<strlen(s1); i++){ if (s1[i]!=' ') { s2[j]=s1[i];
[Code] .....
why I have to initialize the pointer *s2 with the first element of the array s1...???If I don't initialize the pointer,or initialize it with something else,I get a segmentation fault...