0% found this document useful (0 votes)
69 views4 pages

CH 12. Dynamic Memory Allocation

The document discusses 6 problems involving dynamic memory allocation in C programming. The problems cover allocating arrays of integers and floats, managing student IDs, allocating a 2D array of strings, storing student information in structures, and sorting strings. The problems demonstrate receiving input, allocating and managing memory dynamically, performing calculations, and outputting results.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views4 pages

CH 12. Dynamic Memory Allocation

The document discusses 6 problems involving dynamic memory allocation in C programming. The problems cover allocating arrays of integers and floats, managing student IDs, allocating a 2D array of strings, storing student information in structures, and sorting strings. The problems demonstrate receiving input, allocating and managing memory dynamically, performing calculations, and outputting results.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

<Advanced C Programming and Lab>

Ch 12. Dynamic Memory Allocation


※ Note

- If not mentioned, assume that there is no additional inputs.


- If not mentioned, do not print a space in the beginning and end of each line.

- In input and output examples, after ↦ symbol is to explain the input and output.

- In output examples, □ symbol indicates a space.

[ Problem 1 ] Receive N integers and store them in an array using dynamic memory allocation (N ≤
20). Calculate and print the sum of the array elements.

Input Example 1 Output Example 1

6 ↦N 16
3 2 0 1 4 6

[ Problem 2 ] Receive N float data type real numbers and store them in an array using dynamic
memory allocation (N ≤ 20). Find and print out the maximum value. (2 decimal points).

Input Example 1 Output Example 1

5 ↦N 7.80
1.1 2.5 3.4 6.1 7.8

[ Problem 3 ] Write a program that manages students’ ID.

- Receive N (number of students). Receive N students’ ID using dynamic memory allocation (int
data type)

- Receive D (number of student IDs to delete; D<N). Reduce the size of the allocated memory by D.

- Delete D number of student IDs from the end of the array.


- Terminating the program, free the allocated memory.
Input Example 1 Output Example 1

3 ↦ N 16011111
16011111
16011123
16011145
2 ↦ D

Input Example 2 Output Example 2

4 ↦ N 120111
15011123
120111
16011145
15011123
16011145
16011300
1 ↦ D

[ Problem 4 ] Receive the size of a column and row. Dynamically allocate 2-dimensional strings array.
Store alphabet letters in an alphabetical order and print them.

- Print lower-case letters first

- Print an upper-case letter ‘A’ following a lower-case letter ‘z’. Print a lower-case letter ‘a’
following an upper-case letter ‘z’

- Terminating the program, free the allocated memory.

Input Example 1 Output Example 1

6 6 a b c d e f□
g h i j k l□
m n o p q r□
s t u v w x□
y z A B C D□
E F G H I J□

Input Example 2 Output Example 2


96 a b c d e f g h i□
j k l m n o p q r□
s t u v w x y z A□
B C D E F G H I J□
K L M N O P Q R S□
T U V W X Y Z a b□

[ Problem 5 ] Receive N students’ information (name, test scores – korean, english, math) and store
them using dynamic memory allocation. Calculate each student’s average score. Print ‘GREAT’ or ‘BAD’
based on the student’s score.

- 1≤N≤50

- Print the average score using 1 decimal point

- Print ‘GREAT’ or ‘BAD’:

◦ If any of korean, english, math scores ≥ 90, print ‘GREAT’

◦ If any of korean, english, math scores < 90, print ‘BAD’

◦ If you print both ‘GREAT’ and ‘BAD’ for a student, print ‘GREAT' first. Print a space in between
the two.

- Define and use a stdent structure.

◦ name: a string without spaces (1≤length of a string≤7)

◦ test scores(korean, english, math): int data type. 0≤score≤100

◦ average score: float data type

Input Example 1 Output Example 1

2 Kim 72.0 GREAT BAD


Kim 100 82 34 Young 96.3 GREAT
Young 90 100 99

[ Problem 6 ] Receive an integer N. Receive N strings. Sort and print the N strings in lexicographic
order.
- Use malloc( ).
- Use dynamic memory allocation to allocate the required space only.

- Maximum length of a string is 100.

- Assume that lower-case letters are only received.


- Allow to use strings standard library

Input Example 1 Output Example 1

4 apricot
apricot birch
peach peach
willow willow
birch

You might also like