This document discusses arrays in C programming. It begins with an introduction to arrays as structures for storing related data items of the same type. It then covers key topics like declaring and initializing arrays, passing arrays to functions, and sorting and searching arrays. Examples are provided to demonstrate array concepts like initializing character arrays for strings, passing an entire array versus individual elements to functions, and using arrays to calculate the mean, median, and mode of a data set. Functions are defined to implement sorting, searching, and calculating statistical values on arrays.
This document summarizes key aspects of arrays as discussed in a chapter on arrays from a programming textbook. It includes:
1) An introduction to arrays as structures of related data items of static size.
2) Details on declaring, initializing, and accessing array elements using indexes.
3) How entire arrays and individual elements can be passed to functions.
4) Examples of using arrays to compute statistics like the mean, median, and mode of a data set.
This document contains sections on arrays in C programming including: declaring and initializing arrays; passing arrays to functions; sorting arrays; and computing statistics like mean, median, and mode from array data. Key points include: arrays allow grouping related data under one name; elements are accessed via subscript notation; arrays can be passed to functions by reference, allowing the function to modify the original array; sorting algorithms like bubble sort rearrange array elements into order; and common statistics like average, middle value, and most frequent value can be calculated from array data.
This document discusses arrays in C programming. It begins by introducing arrays as structures that store related data items of the same size. It describes how arrays are declared with a name, type, and number of elements. The document provides examples of initializing arrays, accessing array elements, passing arrays to functions, and sorting arrays. It explains that arrays are passed by reference while array elements are passed by value.
The document describes arrays and array operations like sorting and computing statistics. It defines arrays as structures that hold related data items of the same type. Arrays can be passed to functions by reference so the function can modify the original array. The document provides examples of using arrays to compute the mean, median, and mode of survey response data by sorting the array and counting frequencies. Functions are defined to calculate each statistic and sort the array using bubble sort.
The document discusses arrays, strings, and functions in C programming. It begins by explaining how to initialize and access 2D arrays, including examples to take input from the user and store it in a 2D array. It then discusses initializing and accessing multidimensional arrays. Next, it covers array contiguous memory and the advantages and limitations of arrays. Finally, it discusses common programming errors related to array construction for real-time applications.
1. The document discusses arrays, including declaring and initializing arrays, passing arrays to functions, and sorting and analyzing array data.
2. Common array operations like finding the mean, median, and mode are demonstrated using arrays of survey response data.
3. Key array concepts covered are declaring arrays with a specified size and type, accessing elements with subscripts, passing entire arrays or individual elements to functions by reference or value, and sorting an array using a bubble sort algorithm.
The document discusses arrays, strings, and functions in C programming. It begins by explaining how to initialize and access 2D arrays, including examples of declaring and initializing a 2D integer array and adding elements of two 2D arrays. It also covers initializing and accessing multidimensional arrays. The document then discusses string basics like declaration and initialization of character arrays that represent strings. It explains various string functions like strlen(), strcat(), strcmp(). Finally, it covers functions in C including declaration, definition, call by value vs reference, and passing arrays to functions.
The document provides an introduction and overview of one-dimensional, two-dimensional, and three-dimensional arrays in C++. It includes syntax examples and sample programs to demonstrate declaring, initializing, accessing, and manipulating array elements. Key concepts covered include array data types, sizes, indexes, multidimensional arrays, passing arrays to functions, and using pointers with arrays. Sample programs sort arrays and find minimum/maximum elements to illustrate common array operations.
The document contains lecture notes on one-dimensional and two-dimensional arrays in C programming. It discusses the syntax, declaration, initialization, and accessing of array elements. Examples are provided to demonstrate reading input from users, traversing arrays using for loops, and performing operations like addition and multiplication on two-dimensional arrays. Class exercises described include programs to read and display arrays, find the highest number in an array, and perform matrix addition and multiplication using two-dimensional arrays.
The document discusses arrays and functions in C programming. It defines arrays as collections of similar data items stored under a common name. It describes one-dimensional and two-dimensional arrays, and how they are declared and initialized. It also discusses strings as arrays of characters. The document then defines functions as sets of instructions to perform tasks. It differentiates between user-defined and built-in functions, and describes the elements of functions including declaration, definition, and calling.
The document discusses arrays and string operations in C programming. It defines arrays as structures that hold related data items of the same type. It covers one-dimensional and two-dimensional arrays, including declaring, initializing, accessing, and manipulating array elements. It also defines strings as sequences of characters stored as character arrays terminated with a null character. It discusses string declaration, input/output, and standard library functions for determining string length and manipulating strings.
Arrays in C are collections of similar data types stored in contiguous memory locations that can be accessed via indexes, they can be declared with a specified data type and size and initialized with values, and multi-dimensional arrays allow the storage of two-dimensional data structures like matrices through multiple subscripts denoting rows and columns.
This document discusses arrays in C programming. It defines arrays as collections of related data items of the same data type. Arrays allow grouping of multiple values under a single name. Elements in an array are accessed using indexes enclosed in square brackets after the array name. The document covers declaring, initializing, and accessing array elements. It also discusses passing entire arrays and individual array elements to functions. The key points are: arrays have static size, elements are accessed via indexes, arrays can be initialized using values or calculations in loops, and arrays can be passed to functions by reference (entire array) or by value (individual elements).
The document provides information about arrays and pointers in C++. It discusses how to declare, initialize, access elements of arrays including multi-dimensional arrays. It also covers pointers, how they store memory addresses rather than values, and how to declare and assign addresses to pointers. Key topics include declaring arrays with syntax like dataType arrayName[size]; initializing arrays; accessing elements using indices; multi-dimensional arrays of different sizes; declaring pointers with syntax like int* pointer; and assigning addresses to pointers using &operator.
The document discusses arrays in C programming. It begins by defining an array as a structure that contains a group of related data items of the same type. It notes that arrays allow accessing elements via an index, with the first element having an index of 0. The document then provides examples of declaring, initializing, accessing, and printing single-dimensional and multi-dimensional arrays. It also demonstrates how to store user input into arrays and perform operations like addition and multiplication on 2D arrays representing matrices.
This document discusses arrays and pointers in C++. It begins by explaining that arrays allow storing multiple values of the same type, and that arrays have a fixed size and type after declaration. It then covers how to declare, initialize, access elements of, and iterate through arrays using indexes and loops. Multidimensional arrays are also explained, including how they can be thought of as tables with rows and columns. The document concludes by introducing pointers as variables that store the memory addresses of other variables.
This document provides information about linear search of arrays in C++. It discusses:
- Linear search involves comparing each element of an array to a key value to find a match. It is useful for small, unsorted arrays but is inefficient as it must examine every element if the key is not present.
- The linearSearch function takes an array, search key, and array size as parameters. It uses a for loop to compare each element to the key and returns the index of the match, or -1 if no match is found.
- Multiple examples are provided to demonstrate calling the linearSearch function and displaying the results of searches that do and do not find the key.
The document discusses arrays in Java. It begins by defining an array as a data structure that holds a collection of the same type of data. It then covers topics such as declaring and creating arrays, accessing array elements using indexes, default values, passing arrays to methods, returning arrays from methods, and two-dimensional arrays. Examples are provided throughout to illustrate key concepts related to working with arrays in Java programs.
The document discusses arrays in C programming language. It defines arrays as fixed-sized sequenced collections of elements of the same data type that share a common name. One-dimensional arrays represent lists, while two-dimensional arrays represent tables with rows and columns. Arrays must be declared before use with the size specified. Elements can be accessed using indices and initialized. Common operations like input, output, sorting and searching of array elements are demonstrated through examples.
Arrays & Strings can be summarized as follows:
1. Arrays are fixed-size collections of elements of the same data type that are used to store lists of related data. They can be one-dimensional, two-dimensional, or multi-dimensional.
2. Strings in C are arrays of characters terminated by a null character. They are commonly used to store text data. Common string operations include reading, writing, combining, copying, comparing, and extracting portions of strings.
3. Arrays are declared with a data type, name, and size. They can be initialized with a block of comma-separated values. Individual elements are accessed using indexes in square brackets. Two-dimensional arrays represent tables
Arrays allow storing and manipulating a collection of related data elements. They can hold groups of integers, characters, or other data types. Declaring individual variables becomes difficult when storing many elements, so arrays provide an efficient solution. Arrays are declared with a datatype and size, and elements can be initialized, accessed, inserted, deleted, and manipulated using their index positions. Common array operations include displaying values, finding maximum/minimum values, calculating sums, and passing arrays to functions. Multi-dimensional arrays extend the concept to store elements in a table structure accessed by row and column indexes.
An array is a collection of similar data types stored under a common name. Arrays can be one-dimensional, two-dimensional, or multi-dimensional. Elements in an array are stored in contiguous memory locations. Arrays allow multiple variables of the same type to be manipulated together using a single name. Common operations on arrays include sorting elements, performing matrix operations, and CPU scheduling.
The document discusses arrays and strings in C programming. It covers topics like declaring and initializing single and multi-dimensional arrays, accessing array elements, passing arrays to functions, and common array operations like sorting, calculating average and standard deviation. Strings are also introduced as arrays of characters terminated by a null character. Examples are provided for many array concepts and operations.
The document discusses arrays, strings, and functions in C programming. It begins by explaining how to initialize and access 2D arrays, including examples of declaring and initializing a 2D integer array and adding elements of two 2D arrays. It also covers initializing and accessing multidimensional arrays. The document then discusses string basics like declaration and initialization of character arrays that represent strings. It explains various string functions like strlen(), strcat(), strcmp(). Finally, it covers functions in C including declaration, definition, call by value vs reference, and passing arrays to functions.
The document provides an introduction and overview of one-dimensional, two-dimensional, and three-dimensional arrays in C++. It includes syntax examples and sample programs to demonstrate declaring, initializing, accessing, and manipulating array elements. Key concepts covered include array data types, sizes, indexes, multidimensional arrays, passing arrays to functions, and using pointers with arrays. Sample programs sort arrays and find minimum/maximum elements to illustrate common array operations.
The document contains lecture notes on one-dimensional and two-dimensional arrays in C programming. It discusses the syntax, declaration, initialization, and accessing of array elements. Examples are provided to demonstrate reading input from users, traversing arrays using for loops, and performing operations like addition and multiplication on two-dimensional arrays. Class exercises described include programs to read and display arrays, find the highest number in an array, and perform matrix addition and multiplication using two-dimensional arrays.
The document discusses arrays and functions in C programming. It defines arrays as collections of similar data items stored under a common name. It describes one-dimensional and two-dimensional arrays, and how they are declared and initialized. It also discusses strings as arrays of characters. The document then defines functions as sets of instructions to perform tasks. It differentiates between user-defined and built-in functions, and describes the elements of functions including declaration, definition, and calling.
The document discusses arrays and string operations in C programming. It defines arrays as structures that hold related data items of the same type. It covers one-dimensional and two-dimensional arrays, including declaring, initializing, accessing, and manipulating array elements. It also defines strings as sequences of characters stored as character arrays terminated with a null character. It discusses string declaration, input/output, and standard library functions for determining string length and manipulating strings.
Arrays in C are collections of similar data types stored in contiguous memory locations that can be accessed via indexes, they can be declared with a specified data type and size and initialized with values, and multi-dimensional arrays allow the storage of two-dimensional data structures like matrices through multiple subscripts denoting rows and columns.
This document discusses arrays in C programming. It defines arrays as collections of related data items of the same data type. Arrays allow grouping of multiple values under a single name. Elements in an array are accessed using indexes enclosed in square brackets after the array name. The document covers declaring, initializing, and accessing array elements. It also discusses passing entire arrays and individual array elements to functions. The key points are: arrays have static size, elements are accessed via indexes, arrays can be initialized using values or calculations in loops, and arrays can be passed to functions by reference (entire array) or by value (individual elements).
The document provides information about arrays and pointers in C++. It discusses how to declare, initialize, access elements of arrays including multi-dimensional arrays. It also covers pointers, how they store memory addresses rather than values, and how to declare and assign addresses to pointers. Key topics include declaring arrays with syntax like dataType arrayName[size]; initializing arrays; accessing elements using indices; multi-dimensional arrays of different sizes; declaring pointers with syntax like int* pointer; and assigning addresses to pointers using &operator.
The document discusses arrays in C programming. It begins by defining an array as a structure that contains a group of related data items of the same type. It notes that arrays allow accessing elements via an index, with the first element having an index of 0. The document then provides examples of declaring, initializing, accessing, and printing single-dimensional and multi-dimensional arrays. It also demonstrates how to store user input into arrays and perform operations like addition and multiplication on 2D arrays representing matrices.
This document discusses arrays and pointers in C++. It begins by explaining that arrays allow storing multiple values of the same type, and that arrays have a fixed size and type after declaration. It then covers how to declare, initialize, access elements of, and iterate through arrays using indexes and loops. Multidimensional arrays are also explained, including how they can be thought of as tables with rows and columns. The document concludes by introducing pointers as variables that store the memory addresses of other variables.
This document provides information about linear search of arrays in C++. It discusses:
- Linear search involves comparing each element of an array to a key value to find a match. It is useful for small, unsorted arrays but is inefficient as it must examine every element if the key is not present.
- The linearSearch function takes an array, search key, and array size as parameters. It uses a for loop to compare each element to the key and returns the index of the match, or -1 if no match is found.
- Multiple examples are provided to demonstrate calling the linearSearch function and displaying the results of searches that do and do not find the key.
The document discusses arrays in Java. It begins by defining an array as a data structure that holds a collection of the same type of data. It then covers topics such as declaring and creating arrays, accessing array elements using indexes, default values, passing arrays to methods, returning arrays from methods, and two-dimensional arrays. Examples are provided throughout to illustrate key concepts related to working with arrays in Java programs.
The document discusses arrays in C programming language. It defines arrays as fixed-sized sequenced collections of elements of the same data type that share a common name. One-dimensional arrays represent lists, while two-dimensional arrays represent tables with rows and columns. Arrays must be declared before use with the size specified. Elements can be accessed using indices and initialized. Common operations like input, output, sorting and searching of array elements are demonstrated through examples.
Arrays & Strings can be summarized as follows:
1. Arrays are fixed-size collections of elements of the same data type that are used to store lists of related data. They can be one-dimensional, two-dimensional, or multi-dimensional.
2. Strings in C are arrays of characters terminated by a null character. They are commonly used to store text data. Common string operations include reading, writing, combining, copying, comparing, and extracting portions of strings.
3. Arrays are declared with a data type, name, and size. They can be initialized with a block of comma-separated values. Individual elements are accessed using indexes in square brackets. Two-dimensional arrays represent tables
Arrays allow storing and manipulating a collection of related data elements. They can hold groups of integers, characters, or other data types. Declaring individual variables becomes difficult when storing many elements, so arrays provide an efficient solution. Arrays are declared with a datatype and size, and elements can be initialized, accessed, inserted, deleted, and manipulated using their index positions. Common array operations include displaying values, finding maximum/minimum values, calculating sums, and passing arrays to functions. Multi-dimensional arrays extend the concept to store elements in a table structure accessed by row and column indexes.
An array is a collection of similar data types stored under a common name. Arrays can be one-dimensional, two-dimensional, or multi-dimensional. Elements in an array are stored in contiguous memory locations. Arrays allow multiple variables of the same type to be manipulated together using a single name. Common operations on arrays include sorting elements, performing matrix operations, and CPU scheduling.
The document discusses arrays and strings in C programming. It covers topics like declaring and initializing single and multi-dimensional arrays, accessing array elements, passing arrays to functions, and common array operations like sorting, calculating average and standard deviation. Strings are also introduced as arrays of characters terminated by a null character. Examples are provided for many array concepts and operations.
LATEST-CRACK Adobe Illustrator CC 2018 23.0.0hashhshs786
油
COPY THIS LINK INTO BROWSER>> https://crackedtech.net/after-verification-click-go-to-download-page/
Adobe Illustrator CC 2018 23.0.0 (64-bit): A Powerful Vector Graphics Software Adobe Illustrator is a vector graphics software that allows users to create .
Sensors DTH11 PIR HC-05 (2) of sudhanshu.pptxSudhanshu278904
油
Ultrasonic Description
Ultrasonic refers to sound waves that have a frequency higher than the upper audible limit of human hearing, typically above 20,000 Hz (20 kHz). These waves are not detectable by the human ear but are widely used in various applications due to their ability to travel through different mediums and reflect off objects.
Key Features:
Frequency Range: Above 20 kHz
Inaudible to Humans
Used in: Sensing, measurement, cleaning, communication, medical imaging
Common Applications:
Ultrasonic Sensors: Used in robotics, automation, and farming for distance measurement and object detection.
Ultrasound Imaging: In medical diagnostics, especially in prenatal scanning.
Ultrasonic Cleaning: High-frequency vibrations clean delicate items like jewelry or medical instruments.
Pest Repellents: Emit ultrasonic waves to deter insects and rodents.
Calculating current efficiency using EQE.pdfBrian KIM, PhD
油
We often see announcements that high EQE is achieved without defining the dominant wavelength.
However, this does not necessarily guarantee that an efficient display system is achieved.
This is because the emission wavelength must satisfy the color gamut, and the EQE does not include information on the dominant wavelength, which is directly related to the photometric power.
The following formula is designed to estimate efficiency using EQE.
3.1 - CPU Architecture and Fetch Execute - JR.pptxcmnsmashnalu
油
Arrays 06.ppt
1. 2000 Prentice Hall, Inc.
All rights reserved.
1
Chapter 6 - Arrays
Outline
6.1 Introduction
6.2 Arrays
6.3 Declaring Arrays
6.4 Examples Using Arrays
6.5 Passing Arrays to Functions
6.6 Sorting Arrays
6.7 Case Study: Computing Mean, Median and Mode Using Arrays
6.8 Searching Arrays
6.9 Multiple-Subscripted Arrays
2. 2000 Prentice Hall, Inc.
All rights reserved.
2
6.1 Introduction
Arrays
Structures of related data items
Static entity same size throughout program
Dynamic data structures discussed in Chapter 12
3. 2000 Prentice Hall, Inc.
All rights reserved.
3
6.2 Arrays
Array
Group of consecutive memory locations
Same name and type
To refer to an element, specify
Array name
Position number
Format:
arrayname[ position number ]
First element at position 0
n element array named c:
c[ 0 ], c[ 1 ]...c[ n 1 ]
Name of array
(Note that all
elements of this
array have the
same name, c)
Position number
of the element
within array c
c[6]
-45
6
0
72
1543
-89
0
62
-3
1
6453
78
c[0]
c[1]
c[2]
c[3]
c[11]
c[10]
c[9]
c[8]
c[7]
c[5]
c[4]
4. 2000 Prentice Hall, Inc.
All rights reserved.
4
6.2 Arrays
Array elements are like normal variables
c[ 0 ] = 3;
printf( "%d", c[ 0 ] );
Perform operations in subscript. If x equals 3
c[ 5 - 2 ] == c[ 3 ] == c[ x ]
5. 2000 Prentice Hall, Inc.
All rights reserved.
5
6.3 Declaring Arrays
When declaring arrays, specify
Name
Type of array
Number of elements
arrayType arrayName[ numberOfElements ];
Examples:
int c[ 10 ];
float myArray[ 3284 ];
Declaring multiple arrays of same type
Format similar to regular variables
Example:
int b[ 100 ], x[ 27 ];
6. 2000 Prentice Hall, Inc.
All rights reserved.
6
6.4 Examples Using Arrays
Initializers
int n[ 5 ] = { 1, 2, 3, 4, 5 };
If not enough initializers, rightmost elements become 0
int n[ 5 ] = { 0 }
All elements 0
If too many a syntax error is produced syntax error
C arrays have no bounds checking
If size omitted, initializers determine it
int n[ ] = { 1, 2, 3, 4, 5 };
5 initializers, therefore 5 element array
7. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
7
1. Initialize array
2. Loop
3. Print
1 /* Fig. 6.8: fig06_08.c
2 Histogram printing program */
3 #include <stdio.h>
4 #define SIZE 10
5
6 int main()
7 {
8 int n[ SIZE ] = { 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 };
9 int i, j;
10
11 printf( "%s%13s%17sn", "Element", "Value", "Histogram" );
12
13 for ( i = 0; i <= SIZE - 1; i++ ) {
14 printf( "%7d%13d ", i, n[ i ]) ;
15
16 for ( j = 1; j <= n[ i ]; j++ ) /* print one bar */
17 printf( "%c", '*' );
18
19 printf( "n" );
20 }
21
22 return 0;
23 }
8. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
8
Program Output
Element Value Histogram
0 19 ****
1 3 ***
2 15
3 7 **
4 11 *
5 9 ****
6 13 ***
7 5
8 17 **
9 1 *
9. 2000 Prentice Hall, Inc.
All rights reserved.
9
6.4 Examples Using Arrays
Character arrays
String first is really a static array of characters
Character arrays can be initialized using string literals
char string1[] = "first";
Null character '0' terminates strings
string1 actually has 6 elements
It is equivalent to
char string1[] = { 'f', 'i', 'r', 's', 't', '0' };
Can access individual characters
string1[ 3 ] is character s
Array name is address of array, so & not needed for scanf
scanf( "%s", string2 );
Reads characters until whitespace encountered
Can write beyond end of array, be careful
10. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
10
1. Initialize strings
2. Print strings
2.1 Define loop
2.2 Print characters
individually
2.3 Input string
3. Print string
Program Output
1 /* Fig. 6.10: fig06_10.c
2 Treating character arrays as strings */
3 #include <stdio.h>
4
5 int main()
6 {
7 char string1[ 20 ], string2[] = "string literal";
8 int i;
9
10 printf(" Enter a string: ");
11 scanf( "%s", string1 );
12 printf( "string1 is: %snstring2: is %sn"
13 "string1 with spaces between characters is:n",
14 string1, string2 );
15
16 for ( i = 0; string1[ i ] != '0'; i++ )
17 printf( "%c ", string1[ i ] );
18
19 printf( "n" );
20 return 0;
21 }
Enter a string: Hello there
string1 is: Hello
string2 is: string literal
string1 with spaces between characters is:
H e l l o
11. 2000 Prentice Hall, Inc.
All rights reserved.
11
6.5 Passing Arrays to Functions
Passing arrays
To pass an array argument to a function, specify the name of
the array without any brackets
int myArray[ 24 ];
myFunction( myArray, 24 );
Array size usually passed to function
Arrays passed call-by-reference
Name of array is address of first element
Function knows where the array is stored
Modifies original memory locations
Passing array elements
Passed by call-by-value
Pass subscripted name (i.e., myArray[ 3 ]) to function
12. 2000 Prentice Hall, Inc.
All rights reserved.
12
6.5 Passing Arrays to Functions
Function prototype
void modifyArray( int b[], int arraySize );
Parameter names optional in prototype
int b[] could be written int []
int arraySize could be simply int
13. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
13
1. Function definitions
2. Pass array to a
function
2.1 Pass array element
to a function
3. Print
1 /* Fig. 6.13: fig06_13.c
2 Passing arrays and individual array elements to functions */
3 #include <stdio.h>
4 #define SIZE 5
5
6 void modifyArray( int [], int ); /* appears strange */
7 void modifyElement( int );
8
9 int main()
10 {
11 int a[ SIZE ] = { 0, 1, 2, 3, 4 }, i;
12
13 printf( "Effects of passing entire array call "
14 "by reference:nnThe values of the "
15 "original array are:n" );
16
17 for ( i = 0; i <= SIZE - 1; i++ )
18 printf( "%3d", a[ i ] );
19
20 printf( "n" );
21 modifyArray( a, SIZE ); /* passed call by reference */
22 printf( "The values of the modified array are:n" );
23
24 for ( i = 0; i <= SIZE - 1; i++ )
25 printf( "%3d", a[ i ] );
26
27 printf( "nnnEffects of passing array element call "
28 "by value:nnThe value of a[3] is %dn", a[ 3 ] );
29 modifyElement( a[ 3 ] );
30 printf( "The value of a[ 3 ] is %dn", a[ 3 ] );
31 return 0;
32 }
Entire arrays passed call-by-
reference, and can be modified
Array elements passed call-by-
value, and cannot be modified
14. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
14
3.1 Function
definitions
Program Output
33
34 void modifyArray( int b[], int size )
35 {
36 int j;
37
38 for ( j = 0; j <= size - 1; j++ )
39 b[ j ] *= 2;
40 }
41
42 void modifyElement( int e )
43 {
44 printf( "Value in modifyElement is %dn", e *= 2 );
45 }
Effects of passing entire array call by reference:
The values of the original array are:
0 1 2 3 4
The values of the modified array are:
0 2 4 6 8
Effects of passing array element call by value:
The value of a[3] is 6
Value in modifyElement is 12
The value of a[3] is 6
15. 2000 Prentice Hall, Inc.
All rights reserved.
15
6.6 Sorting Arrays
Sorting data
Important computing application
Virtually every organization must sort some data
Bubble sort (sinking sort)
Several passes through the array
Successive pairs of elements are compared
If increasing order (or identical ), no change
If decreasing order, elements exchanged
Repeat
Example:
original: 3 4 2 6 7
pass 1: 3 2 4 6 7
pass 2: 2 3 4 6 7
Small elements "bubble" to the top
16. 2000 Prentice Hall, Inc.
All rights reserved.
16
6.7 Case Study: Computing Mean, Median
and Mode Using Arrays
Mean average
Median number in middle of sorted list
1, 2, 3, 4, 5
3 is the median
Mode number that occurs most often
1, 1, 1, 2, 3, 3, 4, 5
1 is the mode
17. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
17
1. Function prototypes
1.1 Initialize array
2. Call functions mean,
median, and mode
1 /* Fig. 6.16: fig06_16.c
2 This program introduces the topic of survey data analysis.
3 It computes the mean, median, and mode of the data */
4 #include <stdio.h>
5 #define SIZE 99
6
7 void mean( const int [] );
8 void median( int [] );
9 void mode( int [], const int [] ) ;
10 void bubbleSort( int [] );
11 void printArray( const int [] );
12
13 int main()
14 {
15 int frequency[ 10 ] = { 0 };
16 int response[ SIZE ] =
17 { 6, 7, 8, 9, 8, 7, 8, 9, 8, 9,
18 7, 8, 9, 5, 9, 8, 7, 8, 7, 8,
19 6, 7, 8, 9, 3, 9, 8, 7, 8, 7,
20 7, 8, 9, 8, 9, 8, 9, 7, 8, 9,
21 6, 7, 8, 7, 8, 7, 9, 8, 9, 2,
22 7, 8, 9, 8, 9, 8, 9, 7, 5, 3,
23 5, 6, 7, 2, 5, 3, 9, 4, 6, 4,
24 7, 8, 9, 6, 8, 7, 8, 9, 7, 8,
25 7, 4, 4, 2, 5, 3, 8, 7, 5, 6,
26 4, 5, 6, 1, 6, 5, 7, 8, 7 };
27
28 mean( response );
29 median( response );
30 mode( frequency, response );
31 return 0;
32 }
18. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
18
3. Define function
mean
3.1 Define function
median
3.1.1 Sort Array
3.1.2 Print middle
element
33
34 void mean( const int answer[] )
35 {
36 int j, total = 0;
37
38 printf( "%sn%sn%sn", "***", " Mean", "***" );
39
40 for ( j = 0; j <= SIZE - 1; j++ )
41 total += answer[ j ];
42
43 printf( "The mean is the average value of the datan"
44 "items. The mean is equal to the total ofn"
45 "all the data items divided by the numbern"
46 "of data items ( %d ). The mean value forn"
47 "this run is: %d / %d = %.4fnn",
48 SIZE, total, SIZE, ( double ) total / SIZE );
49 }
50
51 void median( int answer[] )
52 {
53 printf( "n%sn%sn%sn%s",
54 "***", " Median", "***",
55 "The unsorted array of responses is" );
56
57 printArray( answer );
58 bubbleSort( answer );
59 printf( "nnThe sorted array is" );
60 printArray( answer );
61 printf( "nnThe median is element %d ofn"
62 "the sorted %d element array.n"
63 "For this run the median is %dnn",
64 SIZE / 2, SIZE, answer[ SIZE / 2 ] );
19. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
19
65 }
66
67 void mode( int freq[], const int answer[] )
68 {
69 int rating, j, h, largest = 0, modeValue = 0;
70
71 printf( "n%sn%sn%sn",
72 "***", " Mode", "***" );
73
74 for ( rating = 1; rating <= 9; rating++ )
75 freq[ rating ] = 0;
76
77 for ( j = 0; j <= SIZE - 1; j++ )
78 ++freq[ answer[ j ] ];
79
80 printf( "%s%11s%19snn%54sn%54snn",
81 "Response", "Frequency", "Histogram",
82 "1 1 2 2", "5 0 5 0 5" );
83
84 for ( rating = 1; rating <= 9; rating++ ) {
85 printf( "%8d%11d ", rating, freq[ rating ] );
86
87 if ( freq[ rating ] > largest ) {
88 largest = freq[ rating ];
89 modeValue = rating;
90 }
91
92 for ( h = 1; h <= freq[ rating ]; h++ )
93 printf( "*" );
94
3.2 Define function
mode
3.2.1 Increase
frequency[]
depending on
response[]
Notice how the subscript in
frequency[] is the value of an
element in response[]
(answer[])
Print stars depending on value of
frequency[]
20. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
20
3.3 Define bubbleSort
3.3 Define printArray
95 printf( "n" );
96 }
97
98 printf( "The mode is the most frequent value.n"
99 "For this run the mode is %d which occurred"
100 " %d times.n", modeValue, largest );
101}
102
103 void bubbleSort( int a[] )
104 {
105 int pass, j, hold;
106
107 for ( pass = 1; pass <= SIZE - 1; pass++ )
108
109 for ( j = 0; j <= SIZE - 2; j++ )
110
111 if ( a[ j ] > a[ j + 1 ] ) {
112 hold = a[ j ];
113 a[ j ] = a[ j + 1 ];
114 a[ j + 1 ] = hold;
115 }
116 }
117
118 void printArray( const int a[] )
119 {
120 int j;
121
122 for ( j = 0; j <= SIZE - 1; j++ ) {
123
124 if ( j % 20 == 0 )
125 printf( "n" );
Bubble sort: if elements out of order,
swap them.
21. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
21
Program Output
126
127 printf( "%2d", a[ j ] );
128 }
129 }
***
Mean
***
The mean is the average value of the data
items. The mean is equal to the total of
all the data items divided by the number
of data items (99). The mean value for
this run is: 681 / 99 = 6.8788
***
Median
***
The unsorted array of responses is
7 8 9 8 7 8 9 8 9 7 8 9 5 9 8 7 8 7 8
6 7 8 9 3 9 8 7 8 7 7 8 9 8 9 8 9 7 8 9
6 7 8 7 8 7 9 8 9 2 7 8 9 8 9 8 9 7 5 3
5 6 7 2 5 3 9 4 6 4 7 8 9 6 8 7 8 9 7 8
7 4 4 2 5 3 8 7 5 6 4 5 6 1 6 5 7 8 7
The sorted array is
1 2 2 2 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5
5 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7
7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
The median is element 49 of
the sorted 99 element array.
For this run the median is 7
22. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
22
Program Output
***
Mode
***
Response Frequency Histogram
1 1 2 2
5 0 5 0 5
1 1 *
2 3 ***
3 4 ****
4 5
5 8 ***
6 9 ****
7 23 ***
8 27 **
9 19 ****
The mode is the most frequent value.
For this run the mode is 8 which occurred 27 times.
23. 2000 Prentice Hall, Inc.
All rights reserved.
23
6.8 Searching Arrays: Linear Search and
Binary Search
Search an array for a key value
Linear search
Simple
Compare each element of array with key value
Useful for small and unsorted arrays
24. 2000 Prentice Hall, Inc.
All rights reserved.
24
6.8 Searching Arrays: Linear Search and
Binary Search
Binary search
For sorted arrays
Compares middle element with key
If equal, match found
If key < middle, looks in first half of array
If key > middle, looks in last half
Repeat
Very fast; at most n steps, where 2n > number of elements
30 element array takes at most 5 steps
25 > 30 so at most 5 steps
5
26. 2000 Prentice Hall, Inc.
All rights reserved.
26
6.9 Multiple-Subscripted Arrays
Initialization
int b[ 2 ][ 2 ] = { { 1, 2 }, { 3, 4 } };
Initializers grouped by row in braces
If not enough, unspecified elements set to zero
int b[ 2 ][ 2 ] = { { 1 }, { 3, 4 } };
Referencing elements
Specify row, then column
printf( "%d", b[ 0 ][ 1 ] );
1 2
3 4
1 0
3 4
27. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
27
1. Initialize variables
1.1 Define functions to
take double scripted
arrays
1.2 Initialize
studentgrades[][]
2. Call functions
minimum, maximum,
and average
1 /* Fig. 6.22: fig06_22.c
2 Double-subscripted array example */
3 #include <stdio.h>
4 #define STUDENTS 3
5 #define EXAMS 4
6
7 int minimum( const int [][ EXAMS ], int, int );
8 int maximum( const int [][ EXAMS ], int, int );
9 double average( const int [], int );
10 void printArray( const int [][ EXAMS ], int, int );
11
12 int main()
13 {
14 int student;
15 const int studentGrades[ STUDENTS ][ EXAMS ] =
16 { { 77, 68, 86, 73 },
17 { 96, 87, 89, 78 },
18 { 70, 90, 86, 81 } };
19
20 printf( "The array is:n" );
21 printArray( studentGrades, STUDENTS, EXAMS );
22 printf( "nnLowest grade: %dnHighest grade: %dn",
23 minimum( studentGrades, STUDENTS, EXAMS ),
24 maximum( studentGrades, STUDENTS, EXAMS ) );
25
26 for ( student = 0; student <= STUDENTS - 1; student++ )
27 printf( "The average grade for student %d is %.2fn",
28 student,
29 average( studentGrades[ student ], EXAMS ) );
30
31 return 0;
32 }
Each row is a particular student,
each column is the grades on the
exam.
28. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
28
3. Define functions
33
34 /* Find the minimum grade */
35 int minimum( const int grades[][ EXAMS ],
36 int pupils, int tests )
37 {
38 int i, j, lowGrade = 100;
39
40 for ( i = 0; i <= pupils - 1; i++ )
41 for ( j = 0; j <= tests - 1; j++ )
42 if ( grades[ i ][ j ] < lowGrade )
43 lowGrade = grades[ i ][ j ];
44
45 return lowGrade;
46 }
47
48 /* Find the maximum grade */
49 int maximum( const int grades[][ EXAMS ],
50 int pupils, int tests )
51 {
52 int i, j, highGrade = 0;
53
54 for ( i = 0; i <= pupils - 1; i++ )
55 for ( j = 0; j <= tests - 1; j++ )
56 if ( grades[ i ][ j ] > highGrade )
57 highGrade = grades[ i ][ j ];
58
59 return highGrade;
60 }
61
62 /* Determine the average grade for a particular exam */
63 double average( const int setOfGrades[], int tests )
64 {
29. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
29
3. Define functions
65 int i, total = 0;
66
67 for ( i = 0; i <= tests - 1; i++ )
68 total += setOfGrades[ i ];
69
70 return ( double ) total / tests;
71 }
72
73 /* Print the array */
74 void printArray( const int grades[][ EXAMS ],
75 int pupils, int tests )
76 {
77 int i, j;
78
79 printf( " [0] [1] [2] [3]" );
80
81 for ( i = 0; i <= pupils - 1; i++ ) {
82 printf( "nstudentGrades[%d] ", i );
83
84 for ( j = 0; j <= tests - 1; j++ )
85 printf( "%-5d", grades[ i ][ j ] );
86 }
87 }
30. Outline
Outline
2000 Prentice Hall, Inc.
All rights reserved.
30
Program Output
The array is:
[0] [1] [2] [3]
studentGrades[0] 77 68 86 73
studentGrades[1] 96 87 89 78
studentGrades[2] 70 90 86 81
Lowest grade: 68
Highest grade: 96
The average grade for student 0 is 76.00
The average grade for student 1 is 87.50
The average grade for student 2 is 81.75