the problem statement here… CodeChef: Practical coding for everyone
and my code using string class … CodeChef: Practical coding for everyone (WA)
my code using char array … CodeChef: Practical coding for everyone (AC)
the problem statement here… CodeChef: Practical coding for everyone
and my code using string class … CodeChef: Practical coding for everyone (WA)
my code using char array … CodeChef: Practical coding for everyone (AC)
I replaced your dynamic arrays with static ones here - CodeChef: Practical coding for everyone you can do some experiments to find out what exactly caused the problem
is the link broken ?
thanks for letting me know, fixed
Can we define an array using int noc[t] , where ‘t’ is a variable.
If I am not wrong, this is definitely not allowed in C . I am more familiar with C , I have to admit. In C , you have to give the specific size , for eg: int noc[10] , otherwise, you have to dynamically allocate by using malloc.
How is C++ different from C, in this aspect. Pls answer …
C and C++ are very similar and in both languages this construct is available as my code shows…
Main difference in int a[n]
and int* a = new int[n]
is “where the memory is taken from”. In first case it is stack, in second it’s heap.
@betlista >> Actually @sumanth232 is right, standard C doesn’t support int noc[t]
where t is dynamically taken as input, but post C99 it does support this. Also, you’re right about the stack and heap allocations. +1
@bugkiller , thats what I am looking for… you confirmed it… thank you, +1.
So, codechef accepts VLAs ( variable length arrays - int a[n] )
I found out the problem in my code…
After this line … int *hash = new int[26];
I added this …
for(int i=0; i<26; i++)
{
hash[i] = 0;
}
AND IT GAVE AC…
So, can somebody throw light on this… Is this really necessary.
I thought , all the elements of hash array will be set to 0 , by default.
Infact, I tested it on my ubuntu 12.04 , without the above for loop,
and they were actually set to 0 by default
@sumanth232 >> Not only codechef, but new compilers also support that.
If you declare a variable/array globally, then it is initialized to zero by default. Declaring locally might initialize the variable with some garbage value. Thats what I know. I might be incorrect. You might want to refer to this c - How to initialize all members of an array to the same value? - Stack Overflow