2 Arrays in c++ Arraysare series of elements of the same type placed in continuous memory locations that can be individually referenced by adding an index to a unique name. The index value starts at 0 i.e., first value is referred. For example, an array that contain 4 integer values of type int called age could be represented this way:
3.
Declaration of arraysin C++: 3 A TYPICAL DECLARATION FOR AN ARRAY IN C++ IS: Syntax :Data Type array_name[array_size]; where Data Type is a valid data type in c ++(int, float...), Array_Name is a valid array identifier and Array_Size: is enclosed within brackets [], specifies how many of these elements the array contains. Example: int data[5]; // 5 elements all are integers char ch[10];// 10 elements all are characters double x[100];// 100 elements all are double
4.
Initializing array inc++. 4 Various types of initializations: int data[5]={16,2,77,120,9} //The number of elements in the array that we initialized within curly brackets { } must match with the array size. int data[ ]={16,2,77,120,9}; //size of the Array will be defined by the number of values included between curly brackets { }. int data[5]={16,2,77}// the rest of 2 values are 0. int data[5]={0};// all element will be initialized 0.
5.
5 Arrays can beinitialized, but they cannot be assigned: float a[7] = { 22.2,44.4,66.6 }; float b[7] = { 33.3,55.5,77.7 }; b=a; //ERROR: arrays cannot be assigned! Nor can an array be used to initialize another array: float a[7] = { 22.2,44.4,66.6 }; float b[7] = a; // ERROR: arrays cannot be used as initializers!
6.
Accessing the valuesof an array. 6 Elements of an array are accessed using index. Syntax: Array name[index]; Index:-is position of each element in an array Array index is start from 0 To n-1 The first element is the 0th element! If you declare an array of n elements, the last element is number at index n-1. If you try to access element at index n it is error! Example:- assume da[5] ={16,2,77,120,9}; da[0] da[1] da[2] da[3] da[4] 16 2 77 120 9
7.
7 To access thefirst element in the given array we can do it by : da[0]; to assign the value 75 in the third element of da da[2] = 75; and, to assign the value of the third element of data to a variable called a, we could write: a=data[2];
8.
8 // arrays example #include<iostream> using namespace std; int x[] = {6, 2, 7, 4, 1}; int n, result=0; int main (){ for ( n=0 ; n<5 ; n++ ){ result += x[n]; } cout << result; return 0; } Output:20
9.
Multidimensional Array 9 => MultidimensionalArrays:are arrays of arrays or arrays of two or more dimension. =>Used to work with data requiring multidimensional arrays. for example, matrices and data in the form of a table.
10.
10 Declaration To declare a2D array, two size specifies are required: first one is for the number of rows and second one is for the number of columns. int a[3][5]; // 2D array Char x[3][5][9] //3D array Various Initialization options: int a[2][3]={{1,5,7},{2,3,6}}; int a[2][3]={0}; all array elements are 0. int a[2][3]={{1,5},{2}}
11.
11 Accessing the valuesof an array. To access a certain element indices or subscript corresponding to each dimension should be supplied. Each element in a 2D array is accessed with two subscripts: the first one is for its row and the second for its column. Example: int score[3][4];
12.
2-D Array Example 12 Example of multidimensional array #include<iostream.h> void main(){ int SomeArray[5][2] = {{0,0},{1,2}, {2,4},{3,6}, {4,8}} for ( int i=0; i<5; i++) for (int j = 0; j<2;j++) { cout<<"SomeArray["<<i<<"]["<<j<<'']: ''; cout<<endl<<SomeArray[i][ j]; } }
13.
Strings in C++ 13 Whatare Strings ? In C++ string is a sequence of character . last character of a string is the null character‘0’. The null character indicates the end of the string. Examples of a strings are:
14.
String declaration 14 Todeclare variables of type String : syntax: string string_name; Example string fullname; String initialization Strings are initialized by using double Quotation (“ ”).There are different ways of string initialization Example: Fullname=“Abebe”; String fullname=“Abebe”; String anathername=fullname; //now both fullname and anothername hold Abebe.
16 Any arrayof character can be converted into string type in C++ by appending the null character at the end of the array sequence. Example: char name[20]; N.B 1.we need not initialize all the available space (20) 2.the string will terminate by the null character ‘0’ Initialization char s1[] = "example"; char s2[20] = "another example“ would store the two strings as follows: s1 |e|x|a|m|p|l|e|0| s2 |a|n|o|t|h|e|r| |e|x|a|m|p|l|e|0|?|?|?|?| char my_string[]={‘H’,’e’,’l’,’l’,’o’,’0’} OR char my_string[]=”Hello”; my_string [0]=’H’; my_string[3]=’l’; cout<< my_string[2]; cout<<my_string; cin>> my_string;
17.
17 With cin spacewill not be read. To read text containing blanks we use a function called cin.get(). Syntax: cin.get(Address to store input, Max length); Eg. // cin with strings #include <iostream> #include <string> using namespace std; int main () { char mystr[100]; cout<<"What's your name? "; cin.get(mystr,100); cout<<"Hello "<<mystr<< ".n"; cout<<"What is your favorite team? "; cin.getl(mystr,100); cout<<"I like "<<mystr<<" too!n"; return 0; }
18.
String Manipulations functions 18 Stringlength i) Strlen: returns the length of the string including the spaces without the null character ‘ 0’; Syntax: strlen (Array/string name) ; #include <iostream> #include <string> using namespace std; int main () { char name[50]; cout<<"EnterYour Name:"" "; cin>>name; cout<<"The length ofYour Name is"" "<<strlen(name)<<endl; return 0; }
19.
String concatenation 19 ii)strcat: concatenatesor merges two strings Syntax: strcat(first string, second string); NB. 1.The first string hold the concatenated string 2.the size of the first string must be large enough to hold both strings. #include <iostream> #include <string> using namespace std; int main () { char str1[13]="Hello "; char str2[]="World!"; cout<<"Before: "<<str1<<endl; cout<<strcat(str1, str2)<<endl; cout<<"After: "<<str1<<endl; return 0; }
20.
String compare 20 iii)strcmp: comparesstrings based on their alphabetical order. Syntax: strcmp(str1,str2) ; Alphabetical comparison rules: 0 if the two strings are equal negative if the first string comes before the second in alphabetical order positive if the first string comes after the second in alphabetical order Example: #include <iostream> #include <cstring> void main() { cout << strcmp("abc", "def") << endl; cout << strcmp("def", "abc") << endl; cout << strcmp("abc", "abc") << endl; cout << strcmp("abc", "abcdef") << endl; cout << strcmp("abc", "ABC") << endl;
21.
String copy 21 iv) strcpy:is used to copy the second string to the first.This is because arrays can't be copied using the assignment operator (=). Syntax : strcpy(str1,str2); Example: char str1[20]; char str2[] = "Second String"; strcpy(str1, str2); cout<<"str1: "<<str1<<endl; strcpy(str2, "Another String"); cout<<"str2: "<<str2<<endl;