Skip to main content
Engineering LibreTexts

24.3: Practice 23 More Arrays and Compiler Directives

  • Page ID
    10549
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Learning Objectives

    With 100% accuracy during a: memory building activity, exercises, lab assignment, problems, or timed quiz/exam; the student is expected to:

    Define the terms on the definitions as listed in the modules associated with this chapter.

    Have an exposure to multidimensional arrays.

    Understand conditional compilation as a testing technique.

    When supplied with test data, add conditional compilation lines to an existing C++ source code.

    Memory Building Activities

    Link to: MBA 23

    Exercises

    Questions
        1. Very few arrays need more than one axis.
        2. Multidimensional arrays use multiple square brackets, one set per axis.
        3. Using a flag to activate debugging lines of code has been around since the 1950's.
        4. Within C++ we can use conditional compilation compiler directives to implement debugging line of code.
    Answers
        1. False
        2. True
        3. True
        4. True
    

    Lab Assignment

    Creating a Folder or Sub-Folder for Chapter 23 Files

    Depending on your compiler/IDE, you should decide where to download and store source code files for processing. Prudence dictates that you create these folders as needed prior to downloading source code files. A suggested sub-folder for the Bloodshed Dev-C++ 5 compiler/IDE might be named:

    • Chapter_23 within the folder named: Cpp_Source_Code_Files

    If you have not done so, please create the folder(s) and/or sub-folder(s) as appropriate.

    Download the Lab File(s)

    Download and store the following file(s) to your storage device in the appropriate folder(s). You may need to right click on the link and select "Save Target As" in order to download the file.

    Download from Connexions: Lab_23a.cpp

    Detailed Lab Instructions

    Read and follow the directions below carefully, and perform the steps in the order listed.

    • Compile and run the Lab_23a.cpp source code file. Understand how it works.
    • Copy the source code file Lab_23a.cpp naming it: Lab_23b.cpp
    • Add conditional compilation statements similar to the demonstration program used in the Conditional Compilation Connexions module. Specifically use: 157 pennies, 92 nickels, 23 dimes and 31 quarters as your test data.
    • Build (compile and run) your program.
    • After you have successfully written this program, if you are taking this course for college credit, follow the instructions from your professor/instructor for submitting it for grading.

    Problems

    Problem 23a - Instructions

    Give three examples in the real world where data might be structured into a multidimensional array. One example (and you can’t count it) is a theatre ticket which might have a section, row and seat number on it.


    This page titled 24.3: Practice 23 More Arrays and Compiler Directives is shared under a CC BY license and was authored, remixed, and/or curated by Kenneth Leroy Busbee (OpenStax CNX) .

    • Was this article helpful?