Exercises

Topics

Group Description

cluster_c The C Programming Language cluster_c_functions_and_program_structure Functions and Program Structure cluster_c_types_operators_expressions Types, Operators, Expressions cluster_c_program_flow Program Flow cluster_c_introduction Introduction cluster_c_pointers_and_arrays Pointers and Arrays cluster_c_memory Memory cluster_c_structures Structures cluster_c_program_sanity Program Sanity cluster_c_advanced_language_features Advanced Language Features cluster_cxx03 C++ cluster_cxx03_functions_and_methods Functions and Methods cluster_cxx03_data_encapsulation Data Encapsulation cluster_cxx11 The New C++ (11-…) cluster_cxx11_new_language_features New Language Features cluster_cxx11_new_language_features_brace_initialization Brace Initialization (Uniform Initialization) cluster_cxx11_new_language_features_move_pf Move Semantics, Rvalue References cluster_cxx11_introduction Introduction cluster_cxx11_exercises Exercises cluster_cxx11_smart_pointers Smart Pointers (std::unique_ptr, std::shared_ptr) c_functions_and_program_structure_external_variables Extern/Global Variables c_functions_and_program_structure_basics Basics c_functions_and_program_structure_external_variables->c_functions_and_program_structure_basics c_functions_and_program_structure_static_variables Static Variables c_functions_and_program_structure_header_files Header Files c_functions_and_program_structure_static_variables->c_functions_and_program_structure_header_files c_functions_and_program_structure_c_preprocessor C Preprocessor: Basics c_functions_and_program_structure_c_preprocessor->c_functions_and_program_structure_static_variables c_functions_and_program_structure_header_files->c_functions_and_program_structure_external_variables c_program_flow_goto_and_labels goto and Labels c_functions_and_program_structure_basics->c_program_flow_goto_and_labels c_functions_and_program_structure_c_preprocessor_advanced C Preprocessor: More c_functions_and_program_structure_c_preprocessor_advanced->c_functions_and_program_structure_c_preprocessor c_types_operators_expressions_relational_logical_operators Relational and Logical Operators c_types_operators_expressions_arithmetic_operators Arithmetic Operators c_types_operators_expressions_relational_logical_operators->c_types_operators_expressions_arithmetic_operators c_types_operators_expressions_declarations Variable Definitions c_types_operators_expressions_constants Constants c_types_operators_expressions_declarations->c_types_operators_expressions_constants c_types_operators_expressions_datatypes_size Data Types, Sizes c_types_operators_expressions_variable_names Variable Names c_types_operators_expressions_datatypes_size->c_types_operators_expressions_variable_names c_types_operators_expressions_arithmetic_operators->c_types_operators_expressions_declarations c_types_operators_expressions_conditional_expressions ?: - Conditional Expression c_types_operators_expressions_assignment_operators_and_expressions Assignment with Calculation c_types_operators_expressions_conditional_expressions->c_types_operators_expressions_assignment_operators_and_expressions c_types_operators_expressions_bit_operators Bit-Operators c_types_operators_expressions_assignment_operators_and_expressions->c_types_operators_expressions_bit_operators c_types_operators_expressions_constants->c_types_operators_expressions_datatypes_size c_types_operators_expressions_introduction Type System c_introduction_external_variables_and_scope Lifetime of Variables c_types_operators_expressions_introduction->c_introduction_external_variables_and_scope c_types_operators_expressions_type_conversions Type Conversions c_types_operators_expressions_type_conversions->c_types_operators_expressions_relational_logical_operators c_types_operators_expressions_precedence_and_order_of_evaluation Precedence, Associativity c_types_operators_expressions_precedence_and_order_of_evaluation->c_types_operators_expressions_conditional_expressions c_types_operators_expressions_exercise_string_reduce Exercise: Copy and Reduce String c_types_operators_expressions_bit_operators->c_types_operators_expressions_exercise_string_reduce c_types_operators_expressions_increment_decrement_operators Increment, Decrement c_types_operators_expressions_exercise_string_reduce->c_types_operators_expressions_increment_decrement_operators c_types_operators_expressions_increment_decrement_operators->c_types_operators_expressions_type_conversions c_types_operators_expressions_variable_names->c_types_operators_expressions_introduction c_program_flow_break_and_continue break and continue c_program_flow_goto_and_labels->c_program_flow_break_and_continue c_program_flow_else_if else - if c_program_flow_if_else if - else c_program_flow_else_if->c_program_flow_if_else c_program_flow_switch switch c_program_flow_switch->c_program_flow_else_if c_program_flow_statements_and_blocks Statements and Blocks c_program_flow_statements_and_blocks->c_types_operators_expressions_precedence_and_order_of_evaluation c_program_flow_loops_do_while Loops: do - while c_program_flow_break_and_continue->c_program_flow_loops_do_while c_program_flow_loops_while_and_for Loops: while and for c_program_flow_loops_while_and_for->c_program_flow_switch c_program_flow_loops_do_while->c_program_flow_loops_while_and_for c_program_flow_if_else->c_program_flow_statements_and_blocks c_introduction_exercise_fahrenheit_float Exercise: A Better Fahrenheit Table c_introduction_variables_and_arithmetic_expressions Variables and Arithmetic c_introduction_exercise_fahrenheit_float->c_introduction_variables_and_arithmetic_expressions c_introduction_installation Installation c_introduction_hello_world Hello World c_introduction_introduction Introduction c_introduction_hello_world->c_introduction_introduction c_introduction_introduction->c_introduction_installation c_introduction_exercise_string_read_line Exercise: Read Line Into String from stdin c_introduction_character_arrays Character Arrays c_introduction_exercise_string_read_line->c_introduction_character_arrays c_introduction_exercise_wc Exercise: wc For The Poor c_introduction_character_io Character I/O c_introduction_exercise_wc->c_introduction_character_io c_introduction_exercise_power_declaration Exercise: Forward Declaration c_introduction_character_arrays->c_introduction_exercise_power_declaration c_introduction_functions Functions c_introduction_exercise_power_declaration->c_introduction_functions c_introduction_for_loop for Loops c_introduction_for_loop->c_introduction_exercise_fahrenheit_float c_introduction_exercise_fahrenheit_for Exercise: Fahrenheit Table Using for c_introduction_exercise_fahrenheit_for->c_introduction_for_loop c_introduction_exercise_fahrenheit_cpp Exercise: Fahrenheit Table Using Macros c_introduction_cpp_symbolic_constants Symbolic Constants c_introduction_exercise_fahrenheit_cpp->c_introduction_cpp_symbolic_constants c_introduction_exercise_histogram Exercise: Character Histogram c_introduction_functions->c_introduction_exercise_histogram c_introduction_character_io->c_introduction_exercise_fahrenheit_cpp c_introduction_cpp_symbolic_constants->c_introduction_exercise_fahrenheit_for c_introduction_variables_and_arithmetic_expressions->c_introduction_hello_world c_introduction_arrays Arrays c_introduction_exercise_histogram->c_introduction_arrays c_introduction_external_variables_and_scope->c_introduction_exercise_string_read_line c_introduction_arrays->c_introduction_exercise_wc c_pointers_and_arrays_pointers_and_arrays Pointers and Arrays c_pointers_and_arrays_exercise_swap Exercise: Function That Swaps Two Variables c_pointers_and_arrays_pointers_and_arrays->c_pointers_and_arrays_exercise_swap c_pointers_and_arrays_command_line_arguments Commandline Arguments c_pointers_and_arrays_command_line_arguments->c_pointers_and_arrays_pointers_and_arrays c_pointers_and_arrays_pointers_and_function_arguments Pointers as Function Parameters c_pointers_and_arrays_pointers_and_addresses Pointers and Addresses c_pointers_and_arrays_pointers_and_function_arguments->c_pointers_and_arrays_pointers_and_addresses c_pointers_and_arrays_pointers_and_addresses->c_functions_and_program_structure_c_preprocessor_advanced c_pointers_and_arrays_exercise_swap->c_pointers_and_arrays_pointers_and_function_arguments c_memory_exercise_linked_list Singly Linked List c_memory_malloc Dynamic Memory c_memory_exercise_linked_list->c_memory_malloc c_structures_typedef typedef: Type Alias c_memory_malloc->c_structures_typedef c_structures_basics struct: Basics c_structures_basics->c_pointers_and_arrays_command_line_arguments c_structures_structures_and_functions struct: Functions c_structures_typedef->c_structures_structures_and_functions c_structures_structures_and_functions->c_structures_basics c_program_sanity_integral_types Know Your Integers c_program_sanity_introduction Sanity and Readabilty c_program_sanity_integral_types->c_program_sanity_introduction c_program_sanity_discrete_values Discrete Values - enum c_program_sanity_discrete_values->c_program_sanity_integral_types c_advanced_language_features_alignment Alignment c_program_sanity_introduction->c_advanced_language_features_alignment c_advanced_language_features_atomic Compiler Intrinsics c_advanced_language_features_volatile Volatile c_advanced_language_features_atomic->c_advanced_language_features_volatile c_advanced_language_features_alignment->c_advanced_language_features_atomic c_advanced_language_features_volatile->c_memory_exercise_linked_list cxx03_introduction Introduction cxx03_introduction->c_introduction_installation cxx03_functions_and_methods_overloading Overloading cxx03_data_encapsulation_classes_objects Classes and Objects cxx03_functions_and_methods_overloading->cxx03_data_encapsulation_classes_objects cxx03_functions_and_methods_const const cxx03_functions_and_methods_methods Methods cxx03_functions_and_methods_const->cxx03_functions_and_methods_methods cxx03_functions_and_methods_methods->cxx03_functions_and_methods_overloading cxx03_functions_and_methods_this this cxx03_functions_and_methods_this->cxx03_functions_and_methods_const cxx03_functions_and_methods_references References cxx03_functions_and_methods_references->cxx03_functions_and_methods_this cxx03_data_encapsulation_ctor_default Default Constructor cxx03_data_encapsulation_ctor_custom Custom Constructor cxx03_data_encapsulation_ctor_default->cxx03_data_encapsulation_ctor_custom cxx03_data_encapsulation_classes_objects->cxx03_introduction cxx03_data_encapsulation_c Object Oriented Programming In Good Ol’ C cxx03_data_encapsulation_classes_objects->cxx03_data_encapsulation_c cxx03_data_encapsulation_c->cxx03_introduction cxx03_data_encapsulation_ctor_custom->cxx03_data_encapsulation_classes_objects cxx03_data_encapsulation_object_copy Object Copy (And Resource Management): There Be Dragons cxx03_data_encapsulation_ctor_dtor More Constructors, Destructors cxx03_data_encapsulation_object_copy->cxx03_data_encapsulation_ctor_dtor cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_ctor_default cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_ctor_custom cxx11_new_language_features_auto Duck Typing (Err, auto) Without A Duck cxx11_new_language_features_strongly_typed_enums Strongly Typed enum cxx11_new_language_features_auto->cxx11_new_language_features_strongly_typed_enums cxx11_new_language_features_strongly_typed_enums->c_program_sanity_discrete_values cxx11_introduction_history History, Background cxx11_new_language_features_strongly_typed_enums->cxx11_introduction_history cxx11_new_language_features_miscellaneous Miscellaneous cxx11_new_language_features_move_pf_overview Lvalues, Rvalues, And Moving cxx11_new_language_features_miscellaneous->cxx11_new_language_features_move_pf_overview cxx11_new_language_features_range_based_for Range Based for Loops: Introduction cxx11_new_language_features_brace_initialization_intro Brace Initialization: Introduction cxx11_new_language_features_range_based_for->cxx11_new_language_features_brace_initialization_intro cxx11_new_language_features_brace_initialization_intro->cxx11_new_language_features_auto cxx11_new_language_features_move_pf_overview->cxx03_functions_and_methods_references cxx11_new_language_features_move_pf_overview->cxx03_data_encapsulation_object_copy cxx11_smart_pointers_unique_ptr std::unique_ptr cxx11_new_language_features_move_pf_overview->cxx11_smart_pointers_unique_ptr cxx11_introduction_history->c_introduction_installation cxx11_exercises_bag_unique Exercise: Bag Of Items, By Unique Reference cxx11_exercises_bag_unique->cxx11_new_language_features_auto cxx11_exercises_bag_unique->cxx11_new_language_features_range_based_for cxx11_exercises_bag_copy Exercise: Bag Of Items, By Copy cxx11_exercises_bag_unique->cxx11_exercises_bag_copy cxx11_exercises_bag_unique->cxx11_smart_pointers_unique_ptr cxx11_exercises_bag_copy->cxx11_new_language_features_auto cxx11_exercises_bag_copy->cxx11_new_language_features_range_based_for cxx11_exercises_bag_shared Exercise: Bag Of Items, By Shared Reference cxx11_exercises_bag_shared->cxx11_new_language_features_auto cxx11_exercises_bag_shared->cxx11_new_language_features_range_based_for cxx11_exercises_bag_shared->cxx11_exercises_bag_unique cxx11_smart_pointers_shared_ptr std::shared_ptr cxx11_exercises_bag_shared->cxx11_smart_pointers_shared_ptr cxx11_smart_pointers_weak_ptr std::weak_ptr cxx11_exercises_bag_shared->cxx11_smart_pointers_weak_ptr cxx11_smart_pointers_introduction Introduction cxx11_smart_pointers_shared_ptr->cxx11_smart_pointers_introduction cxx11_smart_pointers_shared_ptr->cxx11_smart_pointers_unique_ptr cxx11_smart_pointers_introduction->cxx11_new_language_features_miscellaneous cxx11_smart_pointers_unique_ptr->cxx11_smart_pointers_introduction cxx11_smart_pointers_weak_ptr->cxx11_smart_pointers_shared_ptr cxx11_smart_pointers_weak_ptr->cxx11_smart_pointers_introduction