1 nd semester 2007 1 module7 arrays thanawin rakthanmanon email: [email protected] create by: aphirak...

19
1 1 nd Semester 2007 Module Module 7 7 Arrays Arrays Thanawin Rakthanmanon Email: [email protected] Create by: Aphirak Jansang Computer Engineering Department Kasetsart University, Bangkok THAILAND

Upload: cleopatra-gibson

Post on 02-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

11nd Semester 2007

ModuleModule77 ArraysArrays

Thanawin RakthanmanonEmail: [email protected]

Create by: Aphirak JansangComputer Engineering Department

Kasetsart University, Bangkok THAILAND

Page 2: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

21nd Semester 2007

Outline

ArrayArray Overview Array Declaration & FunctionsArray Declaration & Functions ProblemsProblems

Page 3: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

31nd Semester 2007

What is Array? (แถว)

““An An arrayarray is an indexed is an indexed collectioncollection of objects, all of the of objects, all of the same typesame type””

00

11

22

33

44

55

66

Page 4: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

41nd Semester 2007

Why Array?

We want to store all the midterm scores of all students in a class with 60 students.

intint s1, s2, s3, s4, s5 s1, s2, s3, s4, s5,, s6, s7, s8, s9, s10; s6, s7, s8, s9, s10;iintnt s11, s12, s13, s14,s11, s12, s13, s14, s15s15,,s16, s17, s18s16, s17, s18;; :: ::intint s56, s57, s58, s59, s60; s56, s57, s58, s59, s60;

Declaration without ArrayDeclaration without Array

int int [] [] s s = = new new intint[[6060];];Declaration with ArrayDeclaration with Array

Page 5: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

51nd Semester 2007

Array make our life easier We want to find the average of the

scores.

intint total=0, average; total=0, average;total = s1 + s2 + s3 + … + s60;total = s1 + s2 + s3 + … + s60;average = total / 60;average = total / 60;

Coding without ArrayCoding without Array

intint total=0, average; total=0, average;

for (for (intint i = 0; i<60; i++) i = 0; i<60; i++) total = total + s[i];total = total + s[i];

average = total / 60;average = total / 60;

Coding with ArrayCoding with Array

Page 6: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

61nd Semester 2007

Outline

ArrayArray Overview Array Declaration & FunctionsArray Declaration & Functions ProblemsProblems

Page 7: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

71nd Semester 2007

Array Declaration

Syntax: Declaration only

Declaration with creation

Declaration with initialization: 2 ways

<type> [] <name>;

<type> [] <name> = newnew <type>[<num-elts>];

<type> [] <name> = {<value-lists>};22

<type> [] <name> = newnew <type>[<num-elts>] {<value-lists>};

11

Page 8: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

81nd Semester 2007

Array Declaration Example

int [] ai;

int [] ai = newnew int[5];

int [] ai = newnew int[5] {1, 2, 3, 4, 5};

int [] ai = {1, 2, 3, 4};

Declaration only

Declaration with creation

Declaration with initialization: 2 ways

Page 9: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

91nd Semester 2007

scorescore 55 66 77 99

scorescore

More examples

int [] score = newnew int[6];

1100 22 33 44 55

int [] score = newnew int[4] {5,6,7,9};

1100 22 33

Page 10: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

101nd Semester 2007

Accessing Array Elements Supply an integer index for accessing

array elements indexes are zero-basedindexes are zero-based

intint [] score = [] score = newnew intint[4][4];;

1100 22 33scorescore

score[0] = -score[0] = -33;;score[score[2+12+1] = ] = 77;;Score[3-1] = score[0]+score[3]Score[3-1] = score[0]+score[3]Console.WriteLine(score[Console.WriteLine(score[22]);]);

--33 77

44

44

Page 11: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

111nd Semester 2007

How to find Array’s length?

By property Length

By method GetLength()

int int [] [] matrix matrix = = new new intint[[55];];

ConsoleConsole..WriteLineWriteLine((matrixmatrix..LengthLength););

int int [] [] matrix matrix = = new new intint[[77];];

ConsoleConsole..WriteLineWriteLine((matrixmatrix..GetLengthGetLength((00));));

55

77

Page 12: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

121nd Semester 2007

Outline

ArrayArray Overview Array Declaration & FunctionsArray Declaration & Functions ProblemsProblems

Page 13: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

131nd Semester 2007

Example1

Write a program for calculating summation of 82 student's scoresintint[] [] a a = = new new intint[82];[82];

forfor((int int ii==00; ; ii<<aa..LengthLength; ; ii++) ++)

{{

aa[[ii] = ] = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());

}}

int int sumsum==00;;

forfor((int int ii==00; ; ii<(<(aa..LengthLength); ); ii++)++)

{{

sum sum = = sum sum + (+ (aa[[ii]);]);

}}

ConsoleConsole..WriteLineWriteLine((“Sum is {1}{0}"“Sum is {1}{0}",,sum,isum,i););

Page 14: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

141nd Semester 2007

Example 2

Write a program for calculatingsummation of square (5 numbers, without array)

int int aa, , bb, , cc, , dd, , ee;;

a a = = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());

b b = = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());

c c = = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());

d d = = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());

e e = = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());

int int square_sum square_sum = = aa**a a + + bb**b b + + cc**c c + + dd**d d + + ee**ee;;

ConsoleConsole..WriteLineWriteLine(("Sum of square is {0}""Sum of square is {0}", , square_sumsquare_sum););

4*4 + 3*3 + 7*7 + 2*2 + 4*4 + 3*3 + 7*7 + 2*2 + 5*55*5

Quiz1Quiz1

Page 15: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

151nd Semester 2007

Example 2

Write a program for calculatingsummation of square (5 numbers, with array!)

int int aa, , bb, , cc, , dd, , ee;;

a a = = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());

b b = = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());

c c = = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());

d d = = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());

e e = = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());

int int square_sum square_sum = = aa**a a + + bb**b b + + cc**c c + + dd**d d + + ee**ee;;

ConsoleConsole..WriteLineWriteLine(("Sum of square is {0}""Sum of square is {0}", , square_sumsquare_sum););

4*4 + 3*3 + 7*7 + 2*2 + 5*54*4 + 3*3 + 7*7 + 2*2 + 5*5

Quiz2Quiz2

intint[] [] a a = = new new intint[[55];];

forfor((int int ii==00; ; ii<<aa..LengthLength; ; ii++)++){{ aa[[ii] = ] = intint..ParseParse((ConsoleConsole..ReadLineReadLine());());}}

int int square_sumsquare_sum==00;;forfor((int int ii==00; ; ii<(<(aa..LengthLength); ); ii++)++){{

square_sum square_sum = = square_sum square_sum + (+ (aa[[ii]*]*aa[[ii]);]);}}

Page 16: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

161nd Semester 2007

Example2

Write the program for counting the alphabets in input string!!!

Page 17: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

171nd Semester 2007

Looping or Iteration in C#

forfor

whilewhile

do…whiledo…while

foreachforeachIterationIteration

Page 18: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

181nd Semester 2007

foreach

foreach is used to access all elements in an array and do some action repeatedly

foreach = “for each element in an array” Syntax

foreach (var_declaration in array_name)

statement

// the above statement will be applied to each element in an array

Page 19: 1 nd Semester 2007 1 Module7 Arrays Thanawin Rakthanmanon Email: fengtwr@ku.ac.th Create by: Aphirak Jansang Computer Engineering Department Kasetsart

191nd Semester 2007

foreach example

string s = Console.ReadLine();int count = 0;for (int i = 0; i < s.Length; i++){

if(s[i] == 'A') count++;

}

string s = Console.ReadLine();int count = 0;foreach (char c in s) {

if (c == 'A')count++;

}