| | |
Explanation of code line by line
Please support our C++ advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: Nov 2009
Posts: 2
Reputation:
Solved Threads: 0
May somebody pliz help explain to me line by line of this c++ coding cause I can't seem to understand it:-
#include <stdio.h>
#include <stdlib.h>
#define SIZE 50
#define pi 3.14
void push(int i);
int pop(void);
void sort(int stack[SIZE],int numbers);
int *pointer, stack[SIZE],numbers;
void main(void)
{
int value,numbers,num,num2,num3,num4,array[5],num6,num7,num8;
float num5,num9;
num=0;
pointer = stack; // pointer points to the stack
printf("************************************************\n");
printf("----------------PROJECT-------------------------");
printf("\nYOU SHOULD INPUT INTEGERS;\nTHEIR TOTAL NUMBER SHOULD BE DIVISIBLE BY THREE\n");
printf("\nenter the number of integers you want to input::");
scanf("%d",&numbers);
while((numbers%3)!=0 ||numbers==0 )
{printf("the number is not divisible by 3\n");
printf("TRY AGAIN;\nenter the number again::");
scanf("%d",&numbers);}
do {
printf("\nEnter the values consequitively: ");
scanf("%d", &value);
if(value != 0)
{push(value);
}
num++;
} while(num<=(numbers-1));
printf("\n\n\nelements in the stack are::");
for(num=0;num<=(numbers-1);num++)
{
printf(" %d",stack[num]);
}
printf("\n\nlets now sort it\n");
printf("\npress 1 to sort it::");
scanf ("%d",&num3);
if(num3==1)
{sort(stack,numbers);
}
else
{
exit(1);
}
for(num6=0;num6<=((numbers/3)-1);num6++)
{printf("\n\nwe pop the elements in 3's\n");
for(num=0;num<=2;num++)
{ array[num]= pop();
printf(" %d",array[num]);
}
num2= array[0]*array[1];
num7=2*(array[0]+array[1]);
if(array[0]==array[1])
{
printf("\n\nthe first 2 elements form sides of a square whose area is %d",num2);
printf("\nthe perimeter of this square is %d::",num7);
}
else
{printf("\n\nthe first 2 elements form sides of a rectangle whose area is %d",num2);
printf("\nthe perimeter of this rectangle is %d::",num7);
}
num4=array[2]*array[2];
num5=num4*pi;
num8=2*array[2];
num9=num8*pi;
printf("\n\n\nthe the 3rd element forms the radius of a circle whose area is %f",num5);
printf("\nthe perimeter of this circle is %f::\n",num9);
}
printf("\n\n\n****************END OF PROGRAM*******************\n\n");
}
void push(int i)
{*pointer=i;
pointer++;}
void sort(int stack[SIZE],int numbers)
{
int num,t,number;
for (number=0;number<=(numbers-1);number++)
for(num=0;num<=(numbers-1);num++)
{
if (stack[num]>stack[num+1])
{ t=stack[num];
stack[num]=stack[num+1];
stack[num+1]=t;
}}
printf("\nthe sorted array is::");
for(num=1;num<=numbers;num++)
{
printf(" %d",stack[num]);
}}
int pop()
{int m;
m=*pointer;
pointer--;
return m;
}
#include <stdio.h>
#include <stdlib.h>
#define SIZE 50
#define pi 3.14
void push(int i);
int pop(void);
void sort(int stack[SIZE],int numbers);
int *pointer, stack[SIZE],numbers;
void main(void)
{
int value,numbers,num,num2,num3,num4,array[5],num6,num7,num8;
float num5,num9;
num=0;
pointer = stack; // pointer points to the stack
printf("************************************************\n");
printf("----------------PROJECT-------------------------");
printf("\nYOU SHOULD INPUT INTEGERS;\nTHEIR TOTAL NUMBER SHOULD BE DIVISIBLE BY THREE\n");
printf("\nenter the number of integers you want to input::");
scanf("%d",&numbers);
while((numbers%3)!=0 ||numbers==0 )
{printf("the number is not divisible by 3\n");
printf("TRY AGAIN;\nenter the number again::");
scanf("%d",&numbers);}
do {
printf("\nEnter the values consequitively: ");
scanf("%d", &value);
if(value != 0)
{push(value);
}
num++;
} while(num<=(numbers-1));
printf("\n\n\nelements in the stack are::");
for(num=0;num<=(numbers-1);num++)
{
printf(" %d",stack[num]);
}
printf("\n\nlets now sort it\n");
printf("\npress 1 to sort it::");
scanf ("%d",&num3);
if(num3==1)
{sort(stack,numbers);
}
else
{
exit(1);
}
for(num6=0;num6<=((numbers/3)-1);num6++)
{printf("\n\nwe pop the elements in 3's\n");
for(num=0;num<=2;num++)
{ array[num]= pop();
printf(" %d",array[num]);
}
num2= array[0]*array[1];
num7=2*(array[0]+array[1]);
if(array[0]==array[1])
{
printf("\n\nthe first 2 elements form sides of a square whose area is %d",num2);
printf("\nthe perimeter of this square is %d::",num7);
}
else
{printf("\n\nthe first 2 elements form sides of a rectangle whose area is %d",num2);
printf("\nthe perimeter of this rectangle is %d::",num7);
}
num4=array[2]*array[2];
num5=num4*pi;
num8=2*array[2];
num9=num8*pi;
printf("\n\n\nthe the 3rd element forms the radius of a circle whose area is %f",num5);
printf("\nthe perimeter of this circle is %f::\n",num9);
}
printf("\n\n\n****************END OF PROGRAM*******************\n\n");
}
void push(int i)
{*pointer=i;
pointer++;}
void sort(int stack[SIZE],int numbers)
{
int num,t,number;
for (number=0;number<=(numbers-1);number++)
for(num=0;num<=(numbers-1);num++)
{
if (stack[num]>stack[num+1])
{ t=stack[num];
stack[num]=stack[num+1];
stack[num+1]=t;
}}
printf("\nthe sorted array is::");
for(num=1;num<=numbers;num++)
{
printf(" %d",stack[num]);
}}
int pop()
{int m;
m=*pointer;
pointer--;
return m;
}
•
•
Join Date: Mar 2008
Posts: 1,405
Reputation:
Solved Threads: 114
0
#3 23 Days Ago
No, nobody is going to explain that badly formatted C code to you which should have been wrapped in code-tags. You clearly didn't write it, so what I suggest you do is learn how to program, buy a book, whatever works.
Last edited by William Hemsworth; 23 Days Ago at 12:53 pm.
I need pageviews! most fun profile ever :)
0
#4 23 Days Ago
First of all, I don't think that; "Void Main()" is ISO standard, I think you should stick to "Int Main()".
Secondly you're redeclaring numbers in Main, after making it a global variable.
Thirdly you're calling; "push(value);", which isn't really calling your own function, it's calling "push(const value_type& __x)" inside the "stl_queue.h" libary, atleast that's what my compiler does.
Quadly? the function "sort(stack,numbers);" is being called inside the "stl_algo.h" on my compiler
And Heres how far I got in the code b4 i gave up:
Secondly you're redeclaring numbers in Main, after making it a global variable.
Thirdly you're calling; "push(value);", which isn't really calling your own function, it's calling "push(const value_type& __x)" inside the "stl_queue.h" libary, atleast that's what my compiler does.
Quadly? the function "sort(stack,numbers);" is being called inside the "stl_algo.h" on my compiler
And Heres how far I got in the code b4 i gave up:
C++ Syntax (Toggle Plain Text)
#include <stdio.h> // Include "stdio.h" (C library to perform Input/Output operations) #include <stdlib.h> // Include "stdlib.h" (C Standard General Utilities Library) #define SIZE 50 // Define SIZE to 50, basically seaches the file for the word SIZE and replaces it with 50, this is done before the projekt is being compiled, simply by the precompiler #define pi 3.14 // Same as above, just with 3.14 everytime "pi" occurs. void pusha(int i); // Function Prototype int pop(void); // Function Prototype void sorta(int stacka[SIZE],int numbers); // Function Prototype int *pointer, stacka[SIZE],numbers; // Create a pointer, an array and a var int main(void) { int value,num,num2,num3,num4,array[5],num6,num7,num8; // Make a lot of vars float num5,num9; // And a couple of floats num=0; // Set the var num=0 pointer = stacka; // Make the global pointer point to the global stack printf("************************************************\n"); // Output to screen printf("----------------PROJECT-------------------------"); // Output to screen printf("\nYOU SHOULD INPUT INTEGERS;\nTHEIR TOTAL NUMBER SHOULD BE DIVISIBLE BY THREE\n"); // Output to screen printf("\nenter the number of integers you want to input::"); // Output to screen scanf("%d",&numbers); // Scan for input, and write the input to the variable "numbers" while((numbers%3)!=0 ||numbers==0 ) // While "numbers" isn't zero, and "numbers" is dividable with 3, then run the next lines. Untill the entered number is correct. { printf("the number is not divisible by 3\n"); printf("TRY AGAIN;\nenter the number again::"); scanf("%d",&numbers); } do { // Start a Do-While loop printf("\nEnter the values consequitively: "); // Output to screen scanf("%d", &value); // Scan for input, and write the input to the variable "value" if(value != 0) // If value is different from zero, then run the following: { pusha(value); // Call the function Pusha and send it the var "value". } num++; // Indent the variable "num". } while(num<=(numbers-1)); // Run the Do-While loop, while num is less or equal to (numbers-1) printf("\n\n\nelements in the stack are::"); // Output to screen for(num=0;num<=(numbers-1);num++) // Run for loop for output, to output numbers { printf(" %d",stacka[num]); // Output to screen } printf("\n\nlets now sort it\n"); // Output to screen printf("\npress 1 to sort it::"); // Output to screen scanf ("%d",&num3); // Scan for input, and write the input to the variable "num3" if(num3==1) // If num3 equals 1, then run the following, if it dosn't exit the program. { sorta(stacka,numbers); } else { return 0; // Exit the program } for(num6=0;num6<=((numbers/3)-1);num6++) {printf("\n\nwe pop the elements in 3's\n"); for(num=0;num<=2;num++) { array[num]= pop(); printf(" %d",array[num]); } num2= array[0]*array[1]; num7=2*(array[0]+array[1]); if(array[0]==array[1]) { printf("\n\nthe first 2 elements form sides of a square whose area is %d",num2); printf("\nthe perimeter of this square is %d::",num7); } else {printf("\n\nthe first 2 elements form sides of a rectangle whose area is %d",num2); printf("\nthe perimeter of this rectangle is %d::",num7); } num4=array[2]*array[2]; num5=num4*pi; num8=2*array[2]; num9=num8*pi; printf("\n\n\nthe the 3rd element forms the radius of a circle whose area is %f",num5); printf("\nthe perimeter of this circle is %f::\n",num9); } printf("\n\n\n****************END OF PROGRAM*******************\n\n"); } void pusha(int i) // The pusha Function { *pointer=i; // Write "i" (value) to the pointer pointer++; // Indent the pointer } void sort(int stacka[SIZE],int numbers) { int num,t,number; for (number=0;number<=(numbers-1);number++) for(num=0;num<=(numbers-1);num++) { if (stacka[num]>stacka[num+1]) { t=stacka[num]; stacka[num]=stacka[num+1]; stacka[num+1]=t; }} printf("\nthe sorted array is::"); for(num=1;num<=numbers;num++) { printf(" %d",stacka[num]); }} int pop() {int m; m=*pointer; pointer--; return m; }
•
•
Join Date: Mar 2008
Posts: 1,405
Reputation:
Solved Threads: 114
0
#5 23 Days Ago
•
•
•
•
First of all, I don't think that; "Void Main()" is ISO standard, I think you should stick to "Int Main()".
Secondly you're redeclaring numbers in Main, after making it a global variable.
Thirdly you're calling; "push(value);", which isn't really calling your own function, it's calling "push(const value_type& __x)" inside the "stl_queue.h" libary, atleast that's what my compiler does.
I need pageviews! most fun profile ever :)
![]() |
Similar Threads
- C code for LINE SEPARATING (C)
- Code line numbers - causing paste problems (DaniWeb Community Feedback)
Other Threads in the C++ Forum
- Previous Thread: Merging 2 Files
- Next Thread: hash table /independent rehaching
| Thread Tools | Search this Thread |
api array based binary bitmap c++ c/c++ calculator char char* class classes code coding compile console conversion count database delete deploy desktop developer directshow dll download dynamic dynamiccharacterarray email encryption error file forms fstream function functions game givemetehcodez google graph gui homeworkhelp iamthwee ifstream input int java lib linkedlist linker linux list loop looping loops map math matrix memory multiple news node number numbertoword output pointer problem program programming project python random read recursion recursive reference return rpg sorting string strings temperature template templates test text text-file tree unix url variable vector video visualstudio win32 windows winsock word wordfrequency wxwidgets






