C Homework Help | C Homework Helper | Online C Homework Help

The C programming language is a standardized programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the UNIX operating system. It has since spread to many other operating systems, and is one of the most widely used programming languages. C is prized for its efficiency, and is the most popular programming language for writing system software, though it is also used for writing applications.

When we write printf("%d",x); this means compiler will print the value of x. But as here, there is nothing after %d so compiler will show in output window garbage value. When we use %d the compiler internally uses it to access the argument in the stack (argument stack). Ideally compiler determines the offset of the data variable depending on the format specification string. Now when we write printf("%d",a) then compiler first accesses the top most element in the argument stack of the printf which is %d and depending on the format string it calculated to offset to the actual data variable in the memory which is to be printed. Now when only %d will be present in the printf then compiler will calculate the correct offset (which will be the offset to access the integer variable) but as the actual data object is to be printed is not present at that memory location so it will print what ever will be the contents of that memory location. Some compilers check the format string and will generate an error without the proper number and type of arguments for things like printf(...) and scanf(...).

To hash means to grind up, and that’s essentially what hashing is all about. The heart of a hashing algorithm is a hash function that takes your nice, neat data and grinds it into some random-looking integer. The idea behind hashing is that some data either has no inherent ordering (such as images) or is expensive to compare (such as images). If the data has no inherent ordering, you can’t perform comparison searches. If the data is expensive to compare, the number of comparisons used even by a binary search might be too many. So instead of looking at the data themselves, you’ll condense (hash) the data to an integer (its hash value) and keep all the data with the same hash value in the same place. This task is carried out by using the hash value as an index into an array. To search for an item, you simply hash it and look at all the data whose hash values match that of the data you’re looking for. This technique greatly lessens the number of items you have to look at. If the parameters are set up with care and enough storage is available for the hash table, the number of comparisons needed to find an item can be made arbitrarily close to one. One aspect that affects the efficiency of a hashing implementation is the hash function itself. It should ideally distribute data randomly throughout the entire hash table, to reduce the likelihood of collisions. Collisions occur when two different keys have the same hash value. There are two ways to resolve this problem. In open addressing, the collision is resolved by the choosing of another position in the hash table for the element inserted later. When the hash table is searched, if the entry is not found at its hashed position in the table, the search continues checking until either the element is found or an empty position in the table is found. The second method of resolving a hash collision is called chaining. In this method, a bucket or linked list holds all the elements whose keys hash to the same value. When the hash table is searched, the list must be searched linearly.

Basic example for C programming Help is as follows :

Calculate the power of recurussion:

  /* Source Code to calculate power using recursive function */ 
   #include <stdio.h>
 int power(int n1,int n2); 
 int main()
  {      
int base, exp;      
printf("Enter base number: ");     
 scanf("%d",&base);     
 printf("Enter power number(positive integer): ");     
 scanf("%d",&exp);     
 printf("%d^%d = %d", base, exp, power(base, exp));     
 return 0;
  } 
 int power(int base,int exp)
 {     
 if ( exp!=1 )         
 return (base*power(base,exp-1)); 
 }  

Output

Enter base number: 3  Enter power number(positive integer): 3  3^3 = 27

 

C Programming Homework Help | C Homework Assignments | Simple C Programming Assignments | C Programming Assignments with Solutions | Learn C Online | Learn C Programming Online | Learn C Programming Online | Projects in C | C Programming Online | C Programming Help

Our Team

We have 2500+ expert pool from all over the world. They are highly qualified and well experienced. All experts have experinced in teaching and good command over programming topics. Some of our experts are as follows:.


JAVA PROJECT HELP

John Doe

JAVA EXPERT(10+ Yrs Exp.)
JAVA ASSIGNMENT HELP

Larry Doe

C EXPERT(12+ Yrs Exp.)
JAVA HOMEWORK HELP

Ranith Kays

C++ EXPERT(8+ Yrs Exp.)

Joan Ray

OPEN SOURCE LANGUAGE EXPERT(8+ Yrs Exp.)