Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSC 113: Computer Programming (Theory = 03, Lab = 01)

Similar presentations


Presentation on theme: "CSC 113: Computer Programming (Theory = 03, Lab = 01)"— Presentation transcript:

1 CSC 113: Computer Programming (Theory = 03, Lab = 01)
Momina Moetesum Computer Science Department Bahria University, Islamabad

2 Introduction to Arrays
Week # 11

3 Introduction Arrays One-dimesional arrays Character arrays or strings
Structures of related data items Static entity - same size throughout program One-dimesional arrays Character arrays or strings Multi-dimensional arrays

4 Arrays Array To refer to an element, specify
Consecutive group of memory locations Same name and type To refer to an element, specify Array name and position number Format: arrayname[ position number ] First element at position 0 n element array c: c[ 0 ], c[ 1 ]…c[ n - 1 ] Array elements are like normal variables c[ 0 ] = 3; cout << c[ 0 ];

5 Arrays c[6] -45 6 72 1543 -89 62 -3 1 6453 78 Name of array (Note that all elements of this array have the same name, c) c[0] c[1] c[2] c[3] c[11] c[10] c[9] c[8] c[7] c[5] c[4] Position number of the element within array c

6 Array Subscripts Performing operations in subscript. 1) If x = 3,
c[ 5 – 2 ] == c[ 3 ] == c[ x ] 2) If a =5 and b=6 then c[a + b] +=2 adds 2 to array element c[11] 3) To print the sum of first three elements of array c cout<<c[0]+c[1]+c[2]<<endl; 4) To divide the value of seventh element of array c by 2 x = c[6]/2; *Note: [ ] are considered an operator with same precedence as ( )

7 Declaring Arrays Declaring arrays - specify:
Type of array Name Number of elements Examples int c[ 10 ]; float hi[ 3284 ]; Declaring multiple arrays of same type Similar format as other variables Example int b[ 100 ], x[ 27 ];

8 Initializing Arrays Initializers
int n[ 5 ] = { 1, 2, 3, 4, 5 }; If not enough initializers, rightmost elements become 0 If too many initializers, a syntax error is generated int n[ 5 ] = { 0 } Sets all the elements to 0 If size omitted, the initializers determine it int n[] = { 1, 2, 3, 4, 5 }; 5 initializers, therefore n is a 5 element array

9 1 // Fig. 4.4: fig04_04.cpp 2 // Initializing an array 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 #include <iomanip> 9 10 using std::setw; 11 12 int main() 13 { 14 int n[ 10 ]; 15 for(int i=0; i<10; i++) for 16 n[i]=0; 17 cout << "Element" << setw( 13 ) << "Value" << endl; 18 for (i = 0; i < 10; i++ ) cout << setw( 7 ) << i << setw( 13 ) << n[ i ] << endl; 20 21 return 0; 22 }

10 Element Value

11 1 // Fig. 4.5: fig04_05.cpp 2 // Initializing an array with a declaration 3 #include <iostream> 4 5 using std::cout; 6 using std::endl; 7 8 #include <iomanip> 9 10 using std::setw; 11 12 int main() 13 { 14 int n[ 10 ] = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 }; 15 16 cout << "Element" << setw( 13 ) << "Value" << endl; 17 18 for ( int i = 0; i < 10; i++ ) cout << setw( 7 ) << i << setw( 13 ) << n[ i ] << endl; 20 21 return 0; 22 }

12 Element Value

13 1 // Fig. 4.6: fig04_06.cpp 2 // Array size declaration as const 3 #include <iostream> 4 using std::cout; 5 using std::endl; 6 #include <iomanip> 7 using std::setw; 8 int main() 9 { 10 const int arraySize = 10; 11 int s[arraySize]; 12 13 for(int i=0; i<arraySize; i++) 14 s[i]=2+2*i; 15 for 16 cout << "Element" << setw( 13 ) << "Value" << endl; 17 18 for ( int j = 0; j < 10; j++ ) cout << setw( 7 ) << j << setw( 13 ) << s[ j ] << endl; 20 21 return 0; 22 }

14 Element Value

15 1 // Fig. 4.6: fig04_06.cpp 2 // Array size declaration as const 3 #include <iostream> 4 using std::cout; 5 using std::endl; 6 #include <iomanip> 7 using std::setw; 8 int main() 9 { 10 const int arraySize = 10; 11 int s[arraySize]; 12 13 for(int i=0; i<arraySize; i++) 14 cin>>s[i]; 15 for 16 cout << "Element" << setw( 13 ) << "Value" << endl; 17 18 for ( int j = 0; j < 10; j++ ) cout << setw( 7 ) << j << setw( 13 ) << s[ j ] << endl; 20 21 return 0; 22 }

16 2 // A const object must be initialized 3 4 int main() 5 {
1 // Fig. 4.7: fig04_07.cpp 2 // A const object must be initialized 3 4 int main() 5 { 6 const int x; // Error: x must be initialized 7 8 x = 7; // Error: cannot modify a const variable 9 10 return 0; 11 } 1. Initialize const variable 2. Attempt to modify variable Program Output Fig04_07.cpp: Error E2304 Fig04_07.cpp 6: Constant variable 'x' must be initialized in function main() Error E2024 Fig04_07.cpp 8: Cannot modify a const object in function main() *** 2 errors in Compile ***

17 1 // Fig. 4.7: fig04_07.cpp 2 // A const object must be initialized 3 4 int main() 5 { 6 const int x = 7; 7 8 9 10 return 0; 11 }

18 Self Practice Define a constant variable arraySize initialized to 10.
Declare an array with arraySize elements of type float and initialize the elements to 0. Name the fourth element from the beginning of the array. Refer to array element 4. Assign the value to array element 9. Assign the value to the seventh element of the array. Print all the elements of array using for repetition structure.

19 Character arrays or strings
Arrays of characters All strings end with null ('\0') Should be declared large enough to accommodate ‘\0’ Examples: char string1[] = "hello"; char string1[] = { 'h', 'e', 'l', 'l', 'o', '\0’ }; Subscripting is the same as for a normal array String1[ 0 ] is 'h' string1[ 2 ] is 'l‘

20 Character arrays or strings
Input from keyboard char string2[ 10 ]; cin >> string2; Takes user input until first white space character is encountered Side effect: if too much text entered, data written beyond array

21 2 // Treating character arrays as strings 3 #include <iostream>
1 // Fig. 4_12: fig04_12.cpp 2 // Treating character arrays as strings 3 #include <iostream> 4 5 using std::cout; 6 using std::cin; 7 using std::endl; 8 9 int main() 10 { 11 char string1[ 20 ], string2[] = "string literal"; 12 13 cout << "Enter a string: "; 14 cin >> string1; 15 cout << "string1 is: " << string1 << "\nstring2 is: " << string2 << "\nstring1 with spaces between characters is:\n"; 18 19 for ( int i = 0; string1[ i ] != '\0'; i++ ) cout << string1[ i ] << ' '; 21 22 cin >> string1; // reads "there" 23 cout << "\nstring1 is: " << string1 << endl; 24 25 cout << endl; 26 return 0; 27 } Inputted strings are separated by whitespace characters. "there" stayed in the buffer. Notice how string elements are referenced like arrays.

22 Enter a string: Hello there
string1 is: Hello string2 is: string literal string1 with spaces between characters is: H e l l o string1 is: there

23 Self Practice Declare and initialize a character array word with your name. Using a for structure, find the size of the array.


Download ppt "CSC 113: Computer Programming (Theory = 03, Lab = 01)"

Similar presentations


Ads by Google