Programming Techniques Sheet #1: Int A (10) (1, 10, 20, 30, 40, 50, 60, 70, 80, 90) Int B Int C C A+6
This document contains programming exercises related to arrays and pointers in C++. It includes tasks to complete a table with the values of various pointer expressions and array indexes, predict the output of a code snippet, identify issues with two code snippets, write a function to split an array into two dynamic arrays alternatively copying elements, and write a function to swap two dynamically allocated arrays without copying elements.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
137 views2 pages
Programming Techniques Sheet #1: Int A (10) (1, 10, 20, 30, 40, 50, 60, 70, 80, 90) Int B Int C C A+6
This document contains programming exercises related to arrays and pointers in C++. It includes tasks to complete a table with the values of various pointer expressions and array indexes, predict the output of a code snippet, identify issues with two code snippets, write a function to split an array into two dynamic arrays alternatively copying elements, and write a function to swap two dynamically allocated arrays without copying elements.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2
Programming Techniques Sheet #1
CMP 103 & CMP N103 1/2 Spring 2014
1. Consider the following piece of code
Assume that the array "A" is stored at address 100 and the size of the int is 4 bytes. Complete the following table:
Item Value Item Value A B &A[0] C *A C - B A[0] B[0] *&A[0] C[2] &*A *(B+1) A[0]+7 *B+1 *(A+7) *(&C[1]+1) &A[2] *&C[1]+1 &A[6] *A**B**C
2. What is the output of the following piece of code? a.
3. What is the problem with the following pieces of code? a.
b.
Cairo University Faculty of Engineering Computer Engineering Department
Programming Techniques Sheet #1 int A[10] = {1, 10, 20, 30, 40, 50, 60, 70, 80, 90}; int *B; int *C; B = &A[2]; C = A+6;
int A[5] = {0, 1, 2, 3, 4}; int M[5] = {5, 6, 7, 8, 9}; int *P; P=M; A=P; int* f() { int x=90; int *p=&x; return p; }
int A[5] = {0, 1, 2, 3, 4}; for(int* P=A; *P<4; P++ cout<<P<<"\t"<<*P<<endl; //Assume Array A is stored at address 100. Programming Techniques Sheet #1
CMP 103 & CMP N103 2/2 Spring 2014
4. Write a function AlternateSplit that takes an array A of size n and splits it into two arrays B and C. Your function should a. Create two dynamic arrays B and C. b. Copy elements from arrays A to B and C alternatively. Note: don't use the notation Array_name[index] to copy array elements. c. Free the array A.
5. Write a function that swaps two dynamically allocated arrays (with equal sizes) but without actually copying array elements from one place to another.
1) int x, y; 2) const int !=30; 3) int * q; 4) int * const p = &x; 5) const int * r; 6) p = &y; 7) r = &y; 8) *" = 7; 9) *r = 9; 10) *# = 40; 11) !=$0; 12) q = &z; 13) r = &z;