int check_property(int *vec, int iL, int iR) {
int k, res, resl, resr;
int iM = (iR - iL) / 2;
if (iM == 0) {
if (vec[iL] != vec[iR]) return(0);
else return(1);
}
for (res = 1, k = 0; k < (iR-iL); k++) {
if (vec[iL + k] != vec[iL + k + 1]) {
res = 0;
break;
}
}
resl = check_property(vec, iL, iL + iM);
resr = check_property(vec, iL + iM+1, iR);
return(res+min(resl,resr));
}
check
Code:
int check(int N) {
int K = 1;
while (K < N) {
K = K * 2;
if (K == N)
return(1);
}
return(0);
}
min
Code:
int min(int a, int b) {
if (a < b) return (a);
else return(b);
}
But i agree with your code, and it works, the s() functions works fine on
&vec[s(N, i, j)]
But i still cant understand why it doesnt works with just
&vec[i][j]
You say:
Quote:
the compiler has never been told the dimensions of that array. So, that can't work.
By inc the i an j, I'm giving the dimension of the array until it reaches its max which is N^2 or am I incorrect?
Is there a way to do it without using the s() function?
POST EDIT:
I have done a new solution, i came up with this on the memory allocation:
Code:
/* allocate memory, read in the array and print it */
vec = (int**)malloc(N*sizeof(int*));
if ( vec == NULL ) {
fprintf (stderr, "ERROR: not enough memory available!\n");
exit ( 2 );
}
/*New allocation*/
for (j=0; j<N; j++){
vec[j]= (int*)malloc(N*sizeof(int));
if ( vec[j] == NULL ) {
fprintf (stderr, "ERROR: not enough memory available!\n");
exit ( 4 );
}
}
Now i understand what you were telling me about the dimensions.
I have debated this with a friend of mine and he told me there were 2 solutions to my problem; this one of the memory allocation, or yours, creating a s() function like you did
I have written a program which takes a directory as command line arguments and displays all the dir and files in it.
I don't know why I have a problem with the /etc directory.It displays all the directories and files untill it reaches a sub directory called peers which is in /etc/ppp/peers.the... (4 Replies)
Hi ,
During execution a backup binary i get following error
"Program error 11 (Segmentation fault), saving core file in '/usr/datatools"
Riyaz (2 Replies)
What's the difference between Segmentation fault and Bus error and Illegal instruction?
Sometimes I got the one, and sometimes i got another, what are their differences?
Segmentation fault (core dump)?
Bus error (core dump)?
Illegal instruction (core dump)
Thanks
Daniel (2 Replies)
hi all
is there any way to capture the segmentation fault error when i run sqsh on a unix shell script.
Ex:
#!/bin/ksh
sqsh -S "server" -U "user" -P "pwd" << EOF
use mydb
go
exec proc1
go
exit
EOF
retval=$?
echo "sqsh return value $retval"
if
then
exit (1 Reply)
Hi,
I am having this segmentation fault not in the following program, bt. in my lab program . My lab program is horrible long so cannot post it here bt. I am using the following logic in my program which is giving the segmentation fault. Bt. if I run this sample program as it is it dosen't give... (3 Replies)
Hi all,
I have a folder with some 28 files. I have a script file that will iteratively take one file at a time from the folder and provide an output for the input file. Till the 7th file, there was no problem but from the 8th file onwards, i got this Segmentation Fault(Core Dump) error. A file... (2 Replies)
This code is causing a segmentation fault and I can't figure out why. I'm new to UNIX and I need to learn how to avoid this segmentation fault thing. Thank you so much. Thanks also for the great answers to my last post.:):b:
int main()
{
mysqlpp::Connection conn(false);
if... (3 Replies)
I use a binary name (ie polo) it gets some parameter , so for debugging normally i do this :
i wrote script for watchdog my app (polo) and check every second if it's not running then start it , the problem is , if my app , remain in state of segmentation fault for a while (ie 15 ... (6 Replies)
Oddities with gcc, 2.95.3 for the AMIGA and 4.2.1 for MY current OSX 10.14.1...
I am creating a basic calculator for the AMIGA ADE *NIX emulator in C as it does not have one.
Below are two very condensed snippets of which I have added the results inside the each code section.
IMPORTANT!... (11 Replies)
Discussion started by: wisecracker
11 Replies
LEARN ABOUT OSX
tk_getscrollinfo
Tk_GetScrollInfo(3) Tk Library Procedures Tk_GetScrollInfo(3)__________________________________________________________________________________________________________________________________________________NAME
Tk_GetScrollInfo, Tk_GetScrollInfoObj - parse arguments for scrolling commands
SYNOPSIS
#include <tk.h>
int
Tk_GetScrollInfo(interp, argc, argv, dblPtr, intPtr)
int
Tk_GetScrollInfoObj(interp, objc, objv, dblPtr, intPtr)
ARGUMENTS
Tcl_Interp *interp (in) Interpreter to use for error reporting.
int argc (in) Number of strings in argv array.
const char *argv[] (in) Argument strings. These represent the entire widget command, of which the first word is typically the
widget name and the second word is typically xview or yview.
int objc (in) Number of Tcl_Obj's in objv array.
Tcl_Obj *const objv[] (in) Argument objects. These represent the entire widget command, of which the first word is typically the
widget name and the second word is typically xview or yview.
double *dblPtr (out) Filled in with fraction from moveto option, if any.
int *intPtr (out) Filled in with line or page count from scroll option, if any. The value may be negative.
_________________________________________________________________DESCRIPTION
Tk_GetScrollInfo parses the arguments expected by widget scrolling commands such as xview and yview. It receives the entire list of words
that make up a widget command and parses the words starting with argv[2]. The words starting with argv[2] must have one of the following
forms:
moveto fraction
scroll number units
scroll number pages
Any of the moveto, scroll, units, and pages keywords may be abbreviated. If argv has the moveto form, TK_SCROLL_MOVETO is returned as
result and *dblPtr is filled in with the fraction argument to the command, which must be a proper real value. If argv has the scroll form,
TK_SCROLL_UNITS or TK_SCROLL_PAGES is returned and *intPtr is filled in with the number value, which must be a proper integer. If an error
occurs in parsing the arguments, TK_SCROLL_ERROR is returned and an error message is left in interp->result.
Tk_GetScrollInfoObj is identical in function to Tk_GetScrollInfo. However, Tk_GetScrollInfoObj accepts Tcl_Obj style arguments, making it
more appropriate for use with new development.
KEYWORDS
parse, scrollbar, scrolling command, xview, yview
Tk 8.0 Tk_GetScrollInfo(3)