Stacie
asked on
For Loop c#
Trying to understand this for Loop . New to C#
12. for (int i = temp.Length-1; i >0 ; i--)
13. {
14. temp3 += " ";
15. Console.WriteLine("{0}"+te mp3 +"{1}", temp.Remove(i), (temp2.Remove(i)));
16.
17. }
12. for (int i = temp.Length-1; i >0 ; i--)
13. {
14. temp3 += " ";
15. Console.WriteLine("{0}"+te
16.
17. }
static void Main(string[] args)
02.{
03. Console.WriteLine("Enter Your Name ");
04. string temp=Console.ReadLine();
05. Console.WriteLine("");
06. Console.WriteLine("");
07. Console.WriteLine("");
08. string temp2 = temp;
09. string temp3 = "";
10. temp += " ";
11. temp2 += " ";
12. for (int i = temp.Length-1; i >0 ; i--)
13. {
14. temp3 += " ";
15. Console.WriteLine("{0}"+temp3 +"{1}", temp.Remove(i), (temp2.Remove(i)));
16.
17. }
18. temp3 += " ";
19. for (int i = 1; i < temp.Length; i++)
20. {
21. Console.WriteLine("{0}"+temp3.Remove(temp3.Length-i-i-i+1)+"{1}", temp.Remove(i), (temp2.Remove(i)));
22.
23. }
24. Console.WriteLine("");
25. Console.WriteLine("");
26. Console.WriteLine("");
27.}
I can't tell you what the ultimate purpose of this is, but the command
String.Remove(int)
removes characters from the end of a string and returns the remaining string. For example,
string s = "I like to eat";
Console.Writeline(s.Remove (6)); // prints "I like "
so, the line
Console.WriteLine("{0}"+te mp3 +"{1}", temp.Remove(i), (temp2.Remove(i)));
prints the person's name, then some spaces, then the name again. Each time the loops is run, it shaves off more characters from the end of the person's name until there are none left. When it runs, it should produce something like a triangle with the person's name.
String.Remove(int)
removes characters from the end of a string and returns the remaining string. For example,
string s = "I like to eat";
Console.Writeline(s.Remove
so, the line
Console.WriteLine("{0}"+te
prints the person's name, then some spaces, then the name again. Each time the loops is run, it shaves off more characters from the end of the person's name until there are none left. When it runs, it should produce something like a triangle with the person's name.
It is writing the variable temp out and removing a character starting at position i. in the loop so if you enter 12345678 as the name than it will output
12345678 12345678
1234567 1234567
123456 123456
12345 12345
1234 1234
123 123
12 12
1 1
12345678 12345678
1234567 1234567
123456 123456
12345 12345
1234 1234
123 123
12 12
1 1
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Hi yguyon28;
I made comments in the code, please read.
I made comments in the code, please read.
static void Main(string[] args)
{
// Writes the string Enter Your Name and adds a crlf
Console.WriteLine("Enter Your Name ");
// Waits for the user to type his / her name and places that name into the variable temp
// after the user presses the return key
string temp=Console.ReadLine();
// The next three lines advances the cursor on the screen three lines one for each WriteLine
Console.WriteLine("");
Console.WriteLine("");
Console.WriteLine("");
// Assigns the user input, name, to the variable temp2
string temp2 = temp;
// Initializes the string temp3 to an empty string
string temp3 = "";
// Appends a space character to the end of temp
temp += " ";
// Does the same thing to temp2 as line above
temp2 += " ";
// Initializes the for loop to the length of the string in temp
// and each time through the loop decraments by one
for (int i = temp.Length-1; i >0 ; i--)
{
// Adds a single space character to the end of temp3
temp3 += " ";
// Writes a single line to the console each time through the loop with the values of
// temp with one character removed the value of temp3 with a space character inserted
// temp3 is used to keep algiment of the two columns and temp2 with one character removed
Console.WriteLine("{0}"+temp3 +"{1}", temp.Remove(i), (temp2.Remove(i)));
// So if the input was Mark then the console would look like this
// Mark Mark
// Mar Mar
// Ma Ma
// M M
}
// Reinitialize temp3 to a single space character
temp3 += " ";
// This for loop is going to cause issues because in the statement in the for loop
// you will be attempting to access characters that have been removed in the
// previous for loop an so you are going to get index out of range
for (int i = 0; i < temp.Length; i++)
{
Console.WriteLine("{0}"+temp3.Remove(temp3.Length-i-i-i+1)+"{1}", temp.Remove(i), (temp2.Remove(i)));
}
Console.WriteLine("");
Console.WriteLine("");
Console.WriteLine("");
}]
ASKER
Console.WriteLine("{0}"+te