C++ Programming From Problem Analysis to Program Design 7th Edition Malik Solutions Manualinstant download
C++ Programming From Problem Analysis to Program Design 7th Edition Malik Solutions Manualinstant download
https://testbankfan.com/product/c-programming-from-problem-
analysis-to-program-design-7th-edition-malik-solutions-manual/
We believe these products will be a great fit for you. Click
the link to download now, or visit testbankfan.com
to discover even more!
https://testbankfan.com/product/c-programming-from-problem-
analysis-to-program-design-7th-edition-malik-test-bank/
https://testbankfan.com/product/c-programming-from-problem-
analysis-to-program-design-6th-edition-malik-solutions-manual/
https://testbankfan.com/product/c-programming-from-problem-
analysis-to-program-design-8th-edition-malik-solutions-manual/
https://testbankfan.com/product/marketing-canadian-10th-edition-
crane-solutions-manual/
Experiencing the Lifespan 4th Edition Belsky Test Bank
https://testbankfan.com/product/experiencing-the-lifespan-4th-
edition-belsky-test-bank/
https://testbankfan.com/product/investment-analysis-and-
portfolio-management-canadian-1st-edition-reilly-test-bank/
https://testbankfan.com/product/seeleys-anatomy-and-
physiology-10th-edition-vanputte-test-bank/
https://testbankfan.com/product/foundations-of-social-policy-
social-justice-in-human-perspective-6th-edition-barusch-test-
bank/
https://testbankfan.com/product/strategic-management-concepts-
and-cases-1st-edition-ali-solutions-manual/
Physical Chemistry Quantum Chemistry and Molecular
Interactions 1st Edition Andrew Cooksy Solutions Manual
https://testbankfan.com/product/physical-chemistry-quantum-
chemistry-and-molecular-interactions-1st-edition-andrew-cooksy-
solutions-manual/
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-1
Chapter 8
Arrays and Strings
A Guide to this Instructor’s Manual:
We have designed this Instructor’s Manual to supplement and enhance your teaching
experience through classroom activities and a cohesive chapter summary.
This document is organized chronologically, using the same headings that you see in the
textbook. Under the headings you will find: lecture notes that summarize the section, Teacher
Tips, Classroom Activities, and Lab Activities. Pay special attention to teaching tips and
activities geared towards quizzing your students and enhancing their critical thinking skills.
In addition to this Instructor’s Manual, our Instructor’s Resources also contain PowerPoint
Presentations, Test Banks, and other supplements to aid in your teaching experience.
At a Glance
• Objectives
• Teaching Tips
• Quick Quizzes
• Additional Projects
• Additional Resources
• Key Terms
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-2
Lecture Notes
Overview
The next few chapters will introduce and focus on structured data types. Chapter 8
discusses the array data type in detail. Students will become familiar with declaring and
manipulating arrays, as well as using arrays as parameters. They will also learn about
the limitations of arrays. Students will examine character arrays and learn how to
process them using string functions. Finally, this chapter examines more complex array
types, including parallel and multidimensional arrays.
Objectives
In this chapter, the student will:
• Learn the reasons for arrays
• Explore how to declare and manipulate data into arrays
• Understand the meaning of ‘‘array index out of bounds’’
• Learn how to declare and initialize arrays
• Become familiar with the restrictions on array processing
• Discover how to pass an array as a parameter to a function
• Learn how to search an array
• Learn how to sort an array
• Become aware of auto declarations
• Learn about range-based for loops
• Learn about C-strings
• Examine the use of string functions to process C-strings
• Discover how to input data into—and output data from—a C-string
• Learn about parallel arrays
• Discover how to manipulate data in a two-dimensional array
• Learn about multidimensional arrays
Teaching Tips
Introduction
1. Review the concept of a simple data type, and introduce the concept of a structured data
type.
2. Describe the need for an array when processing items that are the same data type and
represent the same conceptual item.
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-3
Arrays
1. Define the array data type and describe its uses. In particular, discuss the syntax of one-
dimensional arrays. Illustrate with Example 8-1.
Introduce your students to arrays by emphasizing that an array can only store
elements that are all of the same data type; in other words, they are not an all-
Teaching
purpose storage container. Point out that they will learn about more complex data
Tip
types later in the text – such as containers that hold generic data types or
complex data types with multiple variables and operations.
1. Discuss the syntax involved in accessing array components. Review the use of the array
subscripting operator with the code snippets in this section.
2. Explain how to process an array using a for loop. Step through Example 8-3 to
illustrate how a for loop can be used to perform the operations described above.
Discuss some common coding errors that can result in an out of bounds array
Teaching
index. Stress that it is the programmer’s responsibility to verify that a program is
Tip
not attempting to access an array outside of its limits.
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-4
1. Describe the syntax involved with initializing an array during its declaration.
1. Explain how to partially initialize an array. Note that the non-initialized elements are
initialized to a default value; for example, elements of data type int are initialized to
zero.
1. Emphasize that C++ does not allow aggregate operations on arrays. Explain that
therefore, arrays must be processed one element at a time, which is usually done with a
loop.
1. Explain that C++ arrays are passed by reference only. Illustrate how this is
accomplished using Example 8-5.
2. Mention the usefulness of passing an additional parameter that specifies how many
elements a function should process.
1. Discuss the use of constant arrays as parameters when the contents of the array should
not be modified. Use Example 8-6 to illustrate parameter passing using both non-
constant and constant arrays.
Explain in more detail why C++ only allows arrays to be passed as reference
parameters. Discuss issues such as memory management. Ask your students if
Teaching
there are any disadvantages to this approach. For example, how would they
Tip
handle a situation in which they would like an array to be modifiable in the
calling function but not in the called function?
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-5
1. Explain that the base address of an array is the address of the first element. Using
Figure 8-7, discuss how arrays are stored in memory.
2. Explain how the base address is used when passing arrays as parameters.
Students may find that the details of manipulating memory are complicated. Note
Teaching that C and C++ programmers are more accustomed to manipulating memory than
Tip programmers in some other programming languages, particularly with respect to
arrays.
1. Note that functions cannot return a value of the type array. Illustrate how arrays are
processed in a function while being returned using Example 8-7.
Ask students why they think C++ does not allow functions to return a value of
Teaching
the type array. Relate this requirement to the requirement of passing arrays as
Tip
reference parameters.
1. Explain that C++ allows any integral type to be used as an array index. Therefore,
although the int type is most often associated with array indices, the enum type can
also be used effectively with array indices. Demonstrate with an example from this
section.
1. Discuss the use of a constant value to declare the size of an array. Also, describe how a
typedef statement can be used to declare an array.
Discuss the advantages of using a named constant for sizing an array. Stress that
Teaching
changing the size of an array is much easier and less error-prone when only one
Tip
value needs to be modified at the beginning of the program.
Quick Quiz 1
1. Define an array.
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-6
Answer: An array is a collection of fixed number components all of the same data type.
Sorting
1. Introduce the selection sort algorithm. Use Figures 8-9 through 8-11 to illustrate this
algorithm. Review the code in Example 8-9.
1. Explain that C++11 allows auto declaration, which allows you to declare and initialize a
variable without specifying its type.
2. Define a C++ C-string. Explain the similarities and differences between a character
array and a C-string. In particular, note the use of the null character to terminate C-
strings.
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-7
Spend some additional time discussing the differences and similarities between
C-strings and character arrays. Students may wonder why C-strings are necessary
Teaching
at all. Explain that the C-string was originally a part of the C programming
Tip
language. Also, reiterate that the string data type is provided in the C++
library, but that it is not part of the language.
String Comparison
1. Explain how C-strings are compared. Demonstrate how the strcmp function works
using Example 8-10.
1. Emphasize that although aggregate functions are not allowed on most C-string
operations (just as with the array type), the exception to this rule is input/output
operations.
String Input
1. Provide an example of how to input a C-string into a variable. Then discuss how to
input a C-string with blanks using the get function.
Teaching Note that the get function is overloaded to provide aggregate input operations
Tip for C-strings.
String Output
1. Discuss how a program can allow a user to specify an input or output file at execution
time. Note the syntax involved in using a character array to retrieve the filename.
1. Review the differences between strings and C-strings and explain how to convert a
string into a C-string using the c_str method.
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-8
Note that the use of c_str function is required to convert strings into a null-
Teaching terminated form. This is because the open function is compatible with C-strings,
Tip not with the programmer-defined string type. Mention that this is an example
of maintaining compatibility with the C language and older C++ compilers.
Quick Quiz 2
1. Define a character array.
Answer: an array whose components are of type char
4. True or False: C++ does not allow any aggregate operations on C-strings.
Answer: False
Parallel Arrays
1. Define parallel arrays and describe situations in which parallel arrays are useful.
Illustrate with the code snippet in this section.
2. Discuss the syntax for declaring a two-dimensional array, and use Figure 8-13 to
demonstrate this.
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-9
1. Give some examples of how to access elements in a two-dimensional array. Use Figure
8-14 to illustrate.
2. Use the example presented in the book along with Figure 8-15 to illustrate this.
Teaching Note that the enum type for indices in a two-dimensional array may be different
Tip for rows and columns.
3. Define row and column processing. Use the code snippets in this section to illustrate
two-dimensional array processing of an entire array, a row of an array, and a column of
an array.
Verify that your students understand array processing using nested loops because
Teaching
the operations that are discussed in the following sections all rely on this
Tip
processing algorithm.
Initialization
1. Explain how to initialize specific rows of an array, as well as how to initialize an entire
array.
1. Describe how to use a nested loop to print out the components of an array.
Input
1. Explain how to input data into specific components of an array and into an entire array.
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-10
Sum by Row
1. Describe how to use nested loops to find the sum of the components in each row of a
two-dimensional array.
Sum by Column
1. Describe how to use nested loops to find the sum of the components in each column of
a two-dimensional array.
1. Use the code snippets in this section to discuss how to determine the largest element in
each row and column.
1. Discuss how a two-dimensional array is stored in memory using row order form.
Emphasize why the second dimension of an array must have a size value when
Teaching
passing the array as a parameter. Ask your students if they think there are any
Tip
advantages to specifying the first dimension as well.
Arrays of Strings
1. Explain how using an array to store strings has many useful applications.
2. Note that strings can be stored in arrays either as a string type or as a character array.
1. Using Figures 8-19 and 8-20, explain how a two-dimensional array of strings can be
created using character arrays.
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-11
Teaching Ask your students if they prefer using arrays of strings or arrays of character
Tip arrays. What are the advantages and disadvantages of each?
Multidimensional Arrays
1. Define n-dimensional arrays. Discuss the general syntax for declaring an array of n
dimensions.
3. Encourage students to walk through the Programming Examples at the end of this
chapter with a partner to consolidate their understanding of arrays.
Quick Quiz 3
1. Define a two-dimensional array.
Answer: A collection of a fixed number of components arranged in rows and columns,
wherein all components are of the same type.
3. You can output the contents of a two-dimensional array by using ____ loops.
Answer: nested
4. When storing a two-dimensional array in computer memory, C++ uses the ____ form.
Answer: row order
2. What are some ways to prevent out of bounds errors when reading input into C-strings?
3. Discuss some useful applications for n-dimensional arrays, such as graphical 3-D or
biotechnology applications.
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-12
Additional Projects
1. Ask your students to write a program that keeps track of important birthdays. They may
implement it with a one-dimensional array with enumeration type indices, with a two-
dimensional array, or with parallel arrays. The user inputs the name and date
information in a menu-driven function. The data is displayed in a tabular format at the
end of the program execution.
2. Ask your students to write a program that lists European, Middle-Eastern, or Asian
countries and their capitals. The program retrieves this information from an input file
that the user specifies during program execution. The data can be stored in a one-
dimensional array with enumeration type indices, a two-dimensional array, or a parallel
array. The data is displayed in a tabular format at the end of the program execution.
Additional Resources
1. Arrays:
www.cplusplus.com
3. C Strings:
www.cprogramming.com
Key Terms
Aggregate operation: any operation on an array that manipulates the entire array as a
single unit
Array: a collection of a fixed number of elements (called components) in which all of
the elements must be of the same data type
Array index in bounds: the index is in bounds if it is >= 0 and <= ARRAY_SIZE –
1
Array index out of bounds: the index is out of bounds if it is < 0 or >
ARRAY_SIZE – 1
Array subscripting operator [ ]: used to access the array element at the position
number contained within the square brackets
Base address: the memory address of the first component in an array
Character array: an array whose components are of the type char
Column processing: processing of a particular column of a two-dimensional array
Dynamic arrays: arrays that are created during program execution using pointers
Finding the sum and average of an array: code that finds the sum and average of the
values in the array
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
C++ Programming: From Problem Analysis to Program Design, Seventh Edition 8-13
Index: any expression whose value is a nonnegative integer and which is used for
accessing an array component
Initializing: the process of using a loop to initialize every component of the array
n-dimensional array: a collection of a fixed number of components arranged in n
dimensions (n >= 1)
One-dimensional array: an array in which the components are arranged in a list form
Parallel arrays: two (or more) arrays with corresponding components holding related
information
Row order form: refers to the manner in which a two-dimensional array is stored; the
first row is stored first, followed by the second row, followed by the third row, and so
on
Row processing: processing of a particular row of a two-dimensional array
Selection sort: a search method in which the array is searched for the smallest value,
which is swapped with the value at the top of the array; then repeated for the next
smallest value, and so on
Sequential or linear search: searches an array sequentially starting with the first
element; continues until the item is found or there are no more elements
Simple data type: signifies that a variable can store only one value at a time
Structured data type: each data item is a collection of other data items
Two-dimensional array: a collection of a fixed number of components arranged in
rows and columns (that is, in two dimensions), wherein all components are of the same
type
© 2015 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part, except for use as permitted in a
license distributed with a certain product or service or otherwise on a password-protected website for classroom use.
Random documents with unrelated
content Scribd suggests to you:
Deccan Recovered by the Andhras, a.d. 138.On
Nahapána’s death his territory,
which in the absence of a son had probably passed to his son-in-law
Ushavadáta, seems to have been wrested from him by his Ándhra
neighbours, as one of the attributes of Gautamíputra Śátakarṇi is
exterminator of the dynasty of Khakharáta (or Kshaharáta). That North
Konkan, South Gujarát, and Káthiáváḍa were taken and incorporated with
Ándhra territory appears from Gautamíputra’s Násik inscription (No. 26)
where Suráshṭra and Aparánta are mentioned as parts of his dominions.
These Ándhra
Chapter V.
conquests seem to have been shortlived.
Western Kshatrapas, a.d. 70–398.
Chashṭana appears to have eventually taken Káthiáváḍa and as much of
South Gujarát as belonged to Nahapána probably as far south as the
Narbada. Meváḍ, Málwa, North and South Gujarát and Káthiáváḍa would
then be subject to him and justify the title Mahákshatrapa on his later coins.
The Taxila plate shows that Patika was governor of Taxila during his
father’s lifetime. After his father’s death when he became Mahákshatrapa,
Patika’s capital was Nagaraka in the Jallálábád or Kábul valley. The
conquest of those parts by the great Kushán or Indo-Skythian king
Kanishka (a.d. 78) seems to have driven Patika’s immediate successors
southwards to Sindh where they may have established a kingdom. The
Skythian kingdom mentioned by the author of the Periplus as stretching in
his time as far south as the mouths of the Indus may be a relic of this
kingdom. Some time after their establishment in Sindh Patika’s successors
may have sent Chashṭana, either a younger member of the reigning house or
a military officer, with an army of Mevas through Umarkot and the Great
Ran to Central Rájputána, an expedition which ended in the settlement of
the Mevas and the change of the country’s name to Meváḍa. Probably it
was on account of their previous ancestral connection that Nahapána sent
Ushavadáta to help Chashṭana in Meváḍa when besieged by his Málava
neighbours. That Ushavadáta went to bathe and make gifts38 at Pushkara
proves that the scene of the Uttamabhadras’ siege by the Málayas was in
Meváḍa not far from Pushkara.
Though the name is not given in any of these coins, the fact that Chashṭana
was Jayadáman’s father has been determined from the genealogy in the
Gunda inscription of Rudrasiṃha I. the seventh Kshatrapa,41 in the Jasdhan
inscription of Rudrasena I. the eighth Kshatrapa,42 and in the Junágaḍh
cave inscription43 of Rudradáman’s son Rudrasiṃha. All these inscriptions
and the coins of his son Rudradáman call Jayadáman Kshatrapa not
Mahákshatrapa. This would seem to show either that he was a Kshatrapa or
governor of Káthiáváḍa under his father or that his father’s territory and his
rank as Mahákshatrapa suffered some reduction.44 The extreme rarity of his
coins suggests that Jayadáman’s reign was very short. It is worthy of note
that while Zamotika and Chashṭana are foreign names, the names of
Jayadáman and all his successors with one exception45 are purely Indian.
Of the king the great Kshatrapa Rudradáman son of the king the Kshatrapa
Jayadáman.
यौधेय गणस्य
Yaudheya Gaṇasya.
The style of the Yaudheya coins being an adaptation of the Kanishka type
and their being found from Mathurá to Saháranpur where Kanishka ruled is
a proof that the Yaudheyas wrested from the successors of Kanishka the
greater part of the North-West Provinces. This is not to be understood to be
the Yaudheyas’ first conquest in India. They are known to be a very old
tribe who after a temporary suppression by Kanishka must have again risen
to power with the decline of Kushán rule under Kanishka’s successors
Huvishka (a.d. 100–123) or Vasudeva (a.d. 123–150 ?) the latter of whom
was a contemporary of Rudradáman.63 It is probably to this increase of
Yaudheya power that Rudradáman’s inscription refers as making them
arrogant and intractable. Their forcible extermination is not to be
understood literally but in the Indian hyperbolic fashion.
As the Kshatrapa year 60 (a.d. 138) has been taken to be the date of close
of Chashṭana’s reign, and as five years may be allowed for the short reign69
of Jayadáman, the beginning of the reign of Rudradáman may be supposed
to have been about the year 65 (a.d. 143). This Girnár inscription gives 72
as the year in which Rudradáman was then reigning and it is fair to suppose
that he reigned probably up to 80. The conclusion is that Rudradáman ruled
from a.d. 143 to 158.70
Of the king the Kshatrapa Dámázaḍa73 son of the king the Kshatrapa
Rudradáman.
Chapter V.
Western Kshatrapas, a.d. 70–398.
Kshatrapa V. Dámázaḍa or Dámájaḍaśrí, a.d. 158–168. The legend on the other three is:
Of the king the Kshatrapa Dámájaḍaśrí son of the king the great Kshatrapa
Rudradáma.
Dámázaḍa and Dámájaḍaśrí seem to be two forms of the same name,
Dámázaḍa with य्स for Ζ being the name first struck, and Dámájaḍaśrí, with
the ordinary ज for Ζ, and with Śrí added to adorn the name and make it
more euphonic, being the later form. It will be noted that, except by his son
Jivadáman, Dámázaḍa or Dámájaḍaśrí is not called a Mahákshatrapa but
simply a Kshatrapa. His coins are very rare. The six mentioned are the only
specimens known and are all from one find. He may therefore be supposed
to have reigned as heir-apparent during the life-time of Rudradáman, or it is
possible that he may have suffered loss of territory and power. His reign
seems to have been short and may have terminated about 90 that is a.d. 168
or a little later.
Of the king the Kshatrapa Jivadáman son of the king the great Kshatrapa
Dámaśrí.
Coin B has the bust on the obverse with a face apparently older than the
face in A. Unfortunately the die has slipped and the date has not been
struck. Most of the Greek legend is very clear but as in coin A the result is
meaningless. The letters are K I U I U Z K N S Y L perhaps meant for
Kuzulka. On the reverse are the usual three symbols, except
Chapter V.
Western Kshatrapas, a.d. 70–398.
Kshatrapa VI. Jivadáman, a.d. 178. that the sun has seven instead of twelve rays.
The legend is:
Of the king the great Kshatrapa Jivadáman son of the king the great
Kshatrapa Dámajaḍa.
Coin C though struck from a different die is closely like B both on the
obverse and the reverse. Neither the Greek legend nor the date is clear,
though enough remains of the lower parts of the numerals to suggest the
date 118. Coin D is in obverse closely like C. The date 118 is clear. On the
reverse the legend and the symbols have been twice struck. The same
legend occurs twice, the second striking having obliterated the last letters of
the legend which contained the name of the king whose coin it is:
The dates and the difference in the style of die used in coining A and in
coining B, C, and D are worth noting as the earliest coin has the date 100
and C and D the third and fourth coins have 118. If Jivadáman’s reign lasted
eighteen years his coins would be common instead of very rare. But we find
between 102 and 118 numerous coins of Rudrasiṃha son of Rudradáman
and paternal uncle of Jivadáman. These facts and the difference between the
style of A and the style of B, C, and D which are apparently imitated from
the coins of Rudrasiṃha and have a face much older than the face in A, tend
to show that soon after his accession Jivadáman was deposed by his uncle
Rudrasiṃha, on whose death or defeat in 118, Jivadáman again rose to
power.
Of the king the great Kshatrapa Rudrasena son of the king the great
Kshatrapa Rudrasiṃha.
Two copper coins square and smaller than the copper coins of
Chapter V.
Western Kshatrapas, a.d. 70–398.
Rudrasiṃha have been found in Ujjain77
Kshatrapa VIII. Rudrasena, a.d. 203–220.
though none are recorded from Káthiáváḍa. On their obverse these copper
coins have a facing bull and on the back the usual symbols and below them
the year 140, but no legend. Their date and their Kshatrapa style show that
they are coins of Rudrasena.
Besides coins two inscriptions one at Muliyásar the other at Jasdan give
information regarding Rudrasena. The Muliyásar inscription, now in the
library at Dwárka ten miles south-west of Muliyásar, records the erection of
an upright slab by the sons of one Vánijaka. This inscription bears date 122,
the fifth of the dark half of Vaishákha in the year 122 during the reign of
Rudrasiṃha.78 The Jasdan inscription, on a stone about five miles from
Jasdan, belongs to the reign of this Kshatrapa. It is in six lines of old
Kshatrapa Nágarí characters shallow and dim with occasional engraver’s
mistakes, but on the whole well-preserved. The writing records the building
of a pond by several brothers (names not given) of the Mánasasa gotra sons
of Pranáthaka and grandsons of Khara. The date is the 5th of the dark half
of Bhádrapada ‘in the year’ 126.79 The genealogy is in the following order:
Mahákshatrapa Chashṭana.
Kshatrapa Jayadáman.
Mahákshatrapa Rudradáman.
Mahákshatrapa Rudrasiṃha.
Mahákshatrapa Rudrasena.
Of the king the Kshatrapa Pṛithivísena son of the king the great Kshatrapa
Rudrasena.
Of the king the great Kshatrapa Dámasena son of the king the great
Kshatrapa Rudrasiṃha.
Dámasena seems to have reigned ten years (148–158) as coins of his son
Víradáman are found dated 158.
Of the king the Kshatrapa Dámájaḍaśrí son of the king the great Kshatrapa
Rudrasena.
Five specimens, the only specimens on record, are dated 154.84 As 154 falls
in the reign of Dámasena it seems probable that Dámájaḍaśrí was either a
minor or a viceroy or perhaps a ruler claiming independence, as about this
time the authority of the main dynasty seems to have been much disputed.
Chapter V.
Western Kshatrapas, a.d. 70–398.
Of the king the Kshatrapa Víradáman son of the king the great Kshatrapa
Dámasena.
Of the twenty-six ten are clearly dated, six with 158 and four with 160.
ज्ञो से
राज्ञो महाक्षत्रपस दामसेनस पुत्रस राज्ञः क्षत्रपस यशदाम्नः
Of the king the great Kshatrapa Yaśadáman son of the king the great
Kshatrapa Dámasena.
Of the king the great Kshatrapa Yaśadáman son of the king the great
Kshatrapa Dámasena.
Of the king the great Kshatrapa Vijayasena son of the king the great
Kshatrapa Dámasena.
Chapter V.
Western Kshatrapas, a.d. 70–398.
Kshatrapa XVI. Dámájaḍaśrí, a.d. 250–255.
In two good specimens of Vijayasena’s coins with traces of the date 166 he
is styled Kshatrapa. This the Pandit could not explain.86
Of the king the great Kshatrapa Dámájaḍaśrí son of the king the great
Kshatrapa Dámasena.
ज्ञो वी ज्ञो से
राज्ञो क्षत्रपस वीरदामपुत्रस राज्ञो महाक्षत्रपस रुद्रसेनस
Of the king the great Kshatrapa Rudrasena son of the king the Kshatrapa
Víradáma.
Of the king the Kshatrapa Viśvasiṃha son of the king the great Kshatrapa
Rudrasena.
Chapter V.
Western Kshatrapas, a.d. 70–398.
It is not known whether Viśvasiṃha’s loss of title was due to his being
subordinate to some overlord, or whether during his reign the Kshatrapas
suffered defeat and loss of territory. The probable explanation seems to be
that he began his reign in a subordinate position and afterwards rose to
supreme rule.