Question

In: Computer Science

PLESE CODE IN C# not java RECURSION Objectives • Learn the basics of recursion – Part...

PLESE CODE IN C# not java

RECURSION

Objectives

• Learn the basics of recursion – Part II (last week was Part I) Submission Guidelines:

You will turn in 2 program files (one for each lab problem)

Tasks

This lab has two parts:

Write a driver program that calls this method from the Main program.

• •

Write a driver program that calls this method from the Main program.

Note: Your program name should match the name of your java / C# class exactly. e.g Lab10a.java / Lab10a.cs

Sample Output: LAB 1:

//A call to recursive function repeatNTimes(“hello”, 5) hellohellohellohellohello

// A call to recursive function repeatNTimes(“Good morning!”, 3) Good morning!Good morning!Good morning!

LAB 2:

1. Write a recursive method

repeatNTimes(String s, int n) that accepts a String and an

integer as two parameters and returns a string that is concatenated together n times. (For

example, repeatNTimes ("hello", 3) returns "hellohellohello")

2. Write a recursive method called isReverse(String s1, String s2) that accepts two

strings as parameters and returns true if the two strings contain the same sequence of characters as

each other but in the opposite order and false otherwise.

The recursive function should ignore capitalization. (For example, the call of

isReverse("hello", "eLLoH") would return true.)

The empty string, as well as any one letter string, should be its own reverse.

  

Page 1 of 2

//Call to recursive function isReverse ("Computer","retupmCo") false

//Call to recursive function isReverse ("Hello","olleh") true

Solutions

Expert Solution

Here is the completed code for this problem. Comments are included, go through it, learn how things work and let me know if you have any doubts or if you need anything to change. If you are satisfied with the solution, please rate the answer. If not, PLEASE let me know before you rate, I’ll help you fix whatever issues. Thanks

/*Program 1*/

//Lab10a.cs

using System;

class Lab10a{
        //method to return a string containing s repeated n times
        public static String repeatNTimes(String s, int n){
                //if n is 0 or below, returning empty string
                if(n<=0){
                        return "";
                }else{
                        //else returning s concatenated with the value returned from 
                        //recursive call passing n-1 as new n
                        return s+repeatNTimes(s,n-1);
                }
        }
        //Main method for testing
        public static void Main(String[] args){
                Console.WriteLine(repeatNTimes("hello", 5));
                Console.WriteLine(repeatNTimes("Good morning!", 3));
                
                //wait for a key press to quit. remove if not needed.
                Console.ReadKey();
        }
}

/*OUTPUT */

hellohellohellohellohello
Good morning!Good morning!Good morning!

/*Program 2*/

//Lab10b.cs

using System;

class Lab10a{
        //method to check if s1 is same as s2, but in reverse
        public static bool isReverse(String s1, String s2){
                //if lengths of s1 an s2 mismatch, returning false
                if(s1.Length!=s2.Length){
                        return false;
                }
                //if strings are empty, returning true
                else if(s1.Length==0){
                        return true;
                }
                //comparing first char of s1 with last char of s2, after converting them to 
                //lower case
                if(Char.ToLower(s1[0])!=Char.ToLower(s2[s2.Length-1])){
                        //mismatch s1 is not reverse of s2
                        return false;
                }
                //otherwise removing first char from s1, last char from s2, calling method 
                //recursively passing new strings
                //note: s1.Substring(1) will return a s1 without first character
                // s2.Substring(0,s2.Length-1) will return s2 without last character
                return isReverse(s1.Substring(1),s2.Substring(0,s2.Length-1));
        }
        
        //Main method for testing
        public static void Main(String[] args){
                Console.WriteLine(isReverse ("Computer","retupmCo"));
                Console.WriteLine( isReverse ("Hello","olleh") );
                
                //wait for a key press to quit. remove if not needed.
                Console.ReadKey();
        }
}

/*OUTPUT*/

False
True

Related Solutions

IN C# WITH SCREENSHOTS OF THE CODE RECURSION Objectives • Learn the basics of recursion. Background...
IN C# WITH SCREENSHOTS OF THE CODE RECURSION Objectives • Learn the basics of recursion. Background There are many problems that loops simplify, such as displaying every pixel to a screen or receiving repetitive input. However, some situations that can be simplified with looping are not easily solvable using loops. This includes problems that require back tracking and being able to use information from previous iterations, which would normally be lost when using an iterative loop. In those cases, it...
I need this code translated from C++ to Java. Im personally still trying to learn Java,...
I need this code translated from C++ to Java. Im personally still trying to learn Java, so if you can include screenshots of your IDE/output that would be helpful. Much appreciated! #include <iostream> #include <string> using namespace std; class pizza { public:    string ingrediants, address;    pizza *next;    pizza(string ingrediants, string address)    {        this->address = address;        this->ingrediants = ingrediants;        next = NULL;    } }; void enqueue(pizza **head, pizza **tail, pizza...
In this programming assignment, you will write C code that performs recursion. For the purpose of...
In this programming assignment, you will write C code that performs recursion. For the purpose of this assignment, you will keep all functions in a single source file main.c. Your main job is to write a recursive function that generates and prints all possible password combinations using characters in an array. In your main() function you will first parse the command line arguments. You can assume that the arguments will always be provided in the correct format. Remember that the...
Objectives To learn to code, compile, and run a program using file input and an output...
Objectives To learn to code, compile, and run a program using file input and an output file. Assignment Plan and code a program utilizing one file for input and one file for output to solve the following problem: Write a program to determine the highest number, the lowest number, their total, and the average of each line of numbers in a file. A file contains 7 numbers per line. How many lines a file contains is unknown. Note Label all...
Code using JAVA: must include a "Main Method" to run on "intelliJ". Hint: Use recursion "...
Code using JAVA: must include a "Main Method" to run on "intelliJ". Hint: Use recursion " /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public boolean isSymmetric(TreeNode...
Please take this c++ code and make it into java code. /* RecursionPuzzleSolver * ------------ *...
Please take this c++ code and make it into java code. /* RecursionPuzzleSolver * ------------ * This program takes a puzzle board and returns true if the * board is solvable and false otherwise * * Example: board 3 6 4 1 3 4 2 5 3 0 * The goal is to reach the 0. You can move the number of spaces of your * current position in either the positive / negative direction * Solution for this game...
Java, Python, and C++ are three of the most useful programming languages to learn. Compare the...
Java, Python, and C++ are three of the most useful programming languages to learn. Compare the functionalities of all three programming languages. Why would you choose one language over another? Provide code examples demonstrating their usefulness in a real-world scenario.
Objectives: Learn to analyze a computational problem and construct an algorithm to solve it Learn to...
Objectives: Learn to analyze a computational problem and construct an algorithm to solve it Learn to use sequential statements to build a basic program to implement the algorithm, using correct programming format Learn to use the scanf function to read and store values entered on the keyboard by the user, and the printf function used to display output results on the computer monitor Learn to convert math formulas into correct arithmetic expressions using variables, constants, and library math functions Learn...
2. Translate the following C/Java code to MIPS assembly code. Assume that the values of a,...
2. Translate the following C/Java code to MIPS assembly code. Assume that the values of a, i, and j are in registers $s0, $t0, and $t1, respectively. Assume that register $s2 holds the base address of the array A (add comments to your MIPS code). j = 0; for(i=0 ; i<a ; i++) A[i]=i+j++;
use java recursion find # of times a substring is in a string but it has...
use java recursion find # of times a substring is in a string but it has to be the exact same, no extra letters attached to it and capitalization matters. input is 2 strings, output is an int input: ("Hello it is hello it's me hellos" + "hi hellllloooo hi hello" + "hello", "hello") should output: 3 input: (" Hello it is hello it's me hellos" + "hi hellllloooo hi hello" + "hello", "Hello") should output: 1 input: (" Hello...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT