IS12 Introduction to Programming Lecture 17: Array Processing - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

IS12 Introduction to Programming Lecture 17: Array Processing

Description:

Practical example of array processing. From Data to Data Structures. machine level data storage ... Time to concentrate on course tools. The material is getting harder ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 17
Provided by: peterbru
Category:

less

Transcript and Presenter's Notes

Title: IS12 Introduction to Programming Lecture 17: Array Processing


1
IS12 - Introduction to Programming Lecture 17
Array Processing
http//www.sis.pitt.edu/sergeys/teaching/2005fall
/is0012/
2
Outline
  • Arrays
  • Array input/output
  • Array processing with for loops
  • Sum
  • Max
  • Min
  • Practical example of array processing

3
From Data to Data Structures
machine level data storage
0100110001101001010001
primitive data types
28
3.1415
'A'
array
structure
basic data aggregates
high-level data structures
stack
queue
tree
4
Arrays
  • First data aggregate
  • A sequence of values of the same type stored
    under one name
  • int ar10 / declaration /

ar
...
2
27
4
12
11
23
ar0
ar3
ar1
ar9
Note Array elements are numbered from 0 (zero)!
5
How we can use an array?
  • An element of an array could be considered as a
    variable of the declared type, i.e., ar3 is
    like int variable
  • We can use it
  • num (ar3 2) / 6
  • We can assign it a value
  • ar3 55 ar4 ar3 / 2
  • Evenar5 / (ar5) /

6
Example Filling in an Array
  • include ltstdio.hgt
  • define DIM 5 / dimension of the array /
  • void main()
  • int arDIM / elements from ar0 to
    arDIM-1 /
  • int i
  • / array initialization /
  • i 0
  • while(i lt DIM)
  • ari 0
  • i
  • Note the pattern of array processing using
    running variable i
  • Options
  • ari rand() / assigns random values /
  • ari i i / assigns squares /

7
Example Array input and output
  • include ltstdio.hgt
  • define DIM 5 / dimension of the array /
  • void main()
  • int arDIM / elements from ar0 to
    arDIM-1 /
  • int i
  • / array input /
  • i 0
  • while(i lt DIM)
  • printf("Element d ", i)
  • scanf("d", ari)
  • i
  • / array output /
  • printf("This is what you have entered\n")
  • i 0
  • while(i lt DIM)
  • printf("d ", ari)
  • i

8
Processing Arrays with For
  • While loop
  • i 0
  • while(i lt DIM)
  • printf("d ", ari)
  • i
  • for(i 0 i lt DIM i)
  • printf("d ", ari)
  • Equivalent for loop

9
Example Array Processing (for)
  • include ltstdio.hgt
  • define DIM 5 / dimension of the array /
  • void main()
  • int arDIM / elements from ar0 to
    arDIM-1 /
  • int i
  • / array input /
  • for (i 0 i lt DIM i)
  • printf("Element d ", i)
  • scanf("d", ari)

10
Example Array Processing (for)
  • / array output /
  • printf("This is what you have entered\n")
  • for (i 0 i lt DIM i)
  • printf("d ", ari)
  • printf("\n")
  • / output in reverse order /
  • printf("And now in reverse order\n")
  • for (i DIM-1 i gt 0 --i)
  • printf("d ", ari)
  • printf("\n")

11
Array Processing Pattern
  • include ltstdio.hgt
  • define N 7 / dimension of the array /
  • void main()
  • / declare an array /
  • int arN / elements from ar0 to arN-1 /
  • ....
  • / input /
  • for (i 0 i lt N i)
  • printf("dgt ", i)
  • scanf("d", ari)
  • / processing - see following slides for
    examples /
  • ....

12
Array Processing sum
  • / Example 9.1 sum of array elements /
  • sum 0
  • for (i 0 i lt N i)
  • sum ari
  • printf("d\n", sum)
  • Compare
  • / sum of N numbers entered by the user /
  • sum 0
  • for (i 0 i lt N i)
  • scanf("d", num)
  • sum num
  • printf("d\n", sum)

13
Array processing max and min
  • / Example 9.2 finding max of array elements /
  • max ar0
  • for (i 1 i lt N i)
  • if (max lt ari)
  • max ari
  • printf("d\n", max)
  • / Example 9.3 finding min of array elements /
  • min ar0
  • for (i 1 i lt N i)
  • if (min gt ari)
  • min ari
  • printf("d\n", min)

14
Example Baby Weighting (1)
  • include ltstdio.hgt
  • define NBABIES 7 / dimension of the array /
  • void main()
  • float weightNBABIES / from ar0 to
    arDIM-1 /
  • int i
  • float sum 0, max 0, average, diff
  • / array input /
  • for (i 0 i lt NBABIES i)
  • printf("Weight of baby d ", i)
  • scanf("f", weighti)
  • sum weighti
  • if(weighti gt max) max weighti

15
Example Baby Weighting (2)
  • average sum / NBABIES
  • / array output /
  • printf("\nThe max weight is .2f.\n", max)
  • printf("The average weight is .2f.\n\n",
    average)
  • for (i 0 i lt NBABIES i)
  • diff weighti - average
  • printf("Baby d weight .2f ", i,
    weighti)
  • if(diff gt 0)
  • printf("(.2f heavier than average)\n",
    diff)
  • else
  • printf("(.2f lighter than average)\n",
    -diff)

16
Before next lecture
  • Time to concentrate on course tools
  • The material is getting harder
  • Extra credit activities at the end of the course
  • Do reading assignment
  • Perry Chapter 20 to Chapter 22
  • Knowledge Sea
  • Run Classroom Examples
  • NavEx/WebEx
  • Exercise Fill a float array by calling functions
    sin or cos (need include ltmath.hgt). Find average
    value of array elements
  • Quiz5 on Thu, 11/03/05 (for, switch, complex
    conditionals)
  • Homework 8 Due 11/08/05
Write a Comment
User Comments (0)
About PowerShow.com