Lecture 5

C 프로그래밍
C언어 (CSE2035)
(Chap9. Pointer Applications)
컴퓨터공학과
C 프로그래밍
Practice 1.
1. Write a program that uses below function.
The function copies a one-dimensional array of n elements
into a two-dimensional array of j rows and k columns. The
resulting array will be placed in the heap. The data will be
inserted into the array in column order; that is, the first j
items will be placed in column 0, the second j items in column
1, and so forth until all columns have been filled.
If j * k is greater than n, the other elements are filled as 0,
and if j * k is less than n, the function returns a null pointer.
컴퓨터공학과
2
C 프로그래밍
Practice 1.
The program receives n, j, k, and values of an array, and
prints copied array( j rows, k columns).
int** copyArray(int*, int, int, int);
Constraint
Use dynamic memory allocation for the space of Pascal’s
triangle, but do not allocate more than necessary.
Use local variables only in the program.
컴퓨터공학과
3
C 프로그래밍
Practice 1.
Example ( Italic characters are not printed. )
Input: 6 2 3
123456
Output: 1 3 5
246
Input: 7 2 3
1234567
Output: Original data is lost!!
컴퓨터공학과
4
C 프로그래밍
Practice 2.
2. Write a program that creates the structure shown as below.
1
1
1
1
2
1
1
3
3
1
1
4
6
4
...
컴퓨터공학과
5
1
C 프로그래밍
Practice 2.
The program receives a size of Pascal’s triangle, and prints
Pascal’s triangle as given size. Write below functions for this
program.
void genTriangle(int**, int);
// Generate Pascal’s triangle
void printTriangle(int**, int);
// Print generated Pascal’s triangle.
컴퓨터공학과
6
C 프로그래밍
Practice 2.
Constraint
Use dynamic memory allocation for the space of Pascal’s
triangle, but do not allocate more than necessary.
Use local variables only in the program.
Example ( Italic characters are not printed. )
Input : 3
Output : __1
_1_1
1_2_1
컴퓨터공학과
(Underline characters represent space
characters.)
7
C 프로그래밍
Practice 3.
3. Write a program that creates a two-dimensional array in
the heap and then analyzes it to determine the minimum,
maximum, and average of each column.
The data are to be read from a file. The first two elements
are the number of rows in the array and the number of
columns in each row. The example for a 4 * 3 array are shown
in next page.
컴퓨터공학과
8
C 프로그래밍
Practice 3.
File data (each column is separated by white space character.)
43
237 128 322
38
271
67
918
39
210
573 199 753
Execution
> ./exec input.dat
컴퓨터공학과
9
C 프로그래밍
Practice 3.
Output: (Numbers are left aligned for each column.
If you need to print floating point number,
round off it to two decimal places.)
38
39
67
918
271
753
441.50 159.25 338
컴퓨터공학과
10