Solved

For Loop c#

Posted on 2014-11-14
5
56 Views
Last Modified: 2015-03-06
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}"+temp3 +"{1}", temp.Remove(i), (temp2.Remove(i)));  
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.}  

Open in new window

0
Comment
Question by:yguyon28
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 

Author Comment

by:yguyon28
ID: 40442862
Like what does this line really do..
  Console.WriteLine("{0}"+temp3 +"{1}", temp.Remove(i), (temp2.Remove(i)));
0
 
LVL 24

Expert Comment

by:mankowitz
ID: 40442890
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}"+temp3 +"{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.
0
 
LVL 7

Expert Comment

by:Thomas Wheeler
ID: 40442898
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
0
 
LVL 24

Accepted Solution

by:
mankowitz earned 500 total points
ID: 40442910
right, I meant two triangles.

I mean two right triangles.

But it looks better in a monospace font.
0
 
LVL 63

Expert Comment

by:Fernando Soto
ID: 40443007
Hi yguyon28;

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("");  
}]

Open in new window

0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question