INICIANTE DÊVIDAS - EXERCÍCIOS

OLIVEROCULTO 20/05/2015 17:23:30
#446825
Olá sou iniciante em C#, e estou com alguns problemas pra resolver alguns exercícios:
O exercício propõe que façamos formas triangulares com a letra [Ô]O[Ô]. Exemplo:

A)O B) O
OO OO
OOO OOO
OOOO OOOO
OOOOO OOOOO

C) OOOOO D) OOOOO
OOOO OOOO
OOO OOO
OO OO
O O

Consegui fazer os exercícios A e D, porém os demais não consigo utilizando a mesma lógica. Se alguém puder me ajudar muito grato.
FILMAN 23/05/2015 00:58:13
#446944
Resposta escolhida
Coloque os seguintes controles no Form

1 TextBox = textBox1
4 RadioButton = {radioButton1, radioButton2, radioButton3, radioButton4}
1 Button = button1

radio1 = A
radio2 = B
radio3 = C
radio4 = D


Coloque o seguinte código abaixo no CLICK do botão

            int quantidade = 4;
string objeto = [Ô][Ô].PadLeft(quantidade,[ô]o[ô]);

textBox1.Text = [Ô][Ô];

for (int c = 1; c <= quantidade; c++)
{
if (radioButton1.Checked)
{
textBox1.AppendText(objeto.Substring(0,c));
textBox1.AppendText(c != quantidade? Environment.NewLine: [Ô][Ô]);
}
else if (radioButton2.Checked)
{
//Dois espaço para a letra [Ô]O[Ô] minuscula!
string espaco = [Ô][Ô].PadLeft(quantidade - c, [ô] [ô]) + [Ô][Ô].PadLeft(quantidade - c, [ô] [ô]);
textBox1.AppendText(espaco + objeto.Substring(0, c));
textBox1.AppendText(c != quantidade ? Environment.NewLine : [Ô][Ô]);
}
else if (radioButton3.Checked)
{
//Dois espaço para a letra [Ô]O[Ô] minuscula!
string espaco = [Ô][Ô].PadLeft(((quantidade + 1) - c - quantidade) * -1, [ô] [ô]) + [Ô][Ô].PadLeft(((quantidade + 1) - c - quantidade) * -1, [ô] [ô]);
textBox1.AppendText(espaco + objeto.Substring(0, (quantidade + 1) - c));
textBox1.AppendText(c != quantidade ? Environment.NewLine : [Ô][Ô]);
}
else
{
textBox1.AppendText(objeto.Substring(0, (quantidade+1)-c));
textBox1.AppendText(c != quantidade ? Environment.NewLine : [Ô][Ô]);
}
}




Espero ter ajudado
OLIVEROCULTO 25/05/2015 17:11:17
#447002
Então cara valeu pela ajuda, mais a ideia do exercício é fazer uma aplicação no console (DOS).
Crio a função e executo para ver os resultados triangulares propostos. Ainda estou tentando solucionar esse pequeno exercício rsrs.
GUIMORAES 25/05/2015 17:28:12
#447003
Você já chegou a fazer algo? Se sim, posta aqui
OLIVEROCULTO 26/05/2015 10:27:22
#447029
Fiz sim, consegui resolver os exercícios A) e D), mas só que com a mesma lógica não consegui resolver os demais. Ficou assim:

A) int a; // Aqui deu certo gerou o triangulo proposto!
string b = [Ô]O[Ô];
for (a = 1; a <= 5; a++)
{
Console.WriteLine(b);
b = b + [Ô]O[Ô];
}

D) int c; // Aqui também deu certo, gerou o triangulo de forma inversa!
string d = [Ô]OOOOO[Ô];
for (c = 5; c >= 1; c--)
{
Console.WriteLine(d);
d = d.Remove(d.Length - 1);
}
FILMAN 26/05/2015 22:56:13
#447057
Amigo vc pode somente adaptar!

int quantidade = 4;
string objeto = [Ô][Ô].PadLeft(quantidade,[ô]o[ô]);

for (int xx = 1; xx <= 4; xx++)
{
for (int c = 1; c <= quantidade; c++)
{
if (xx == 1)
{
Console.WriteLine(objeto.Substring(0,c));
}
else if (xx == 2)
{
string espaco = [Ô][Ô].PadLeft(quantidade - c, [ô] [ô]) + [Ô][Ô].PadLeft(quantidade - c, [ô] [ô]);
Console.WriteLine(espaco + objeto.Substring(0, c));
}
else if (xx == 3)
{
string espaco = [Ô][Ô].PadLeft(((quantidade + 1) - c - quantidade) * -1, [ô] [ô]) + [Ô][Ô].PadLeft(((quantidade + 1) - c - quantidade) * -1, [ô] [ô]);
Console.WriteLine(espaco + objeto.Substring(0, (quantidade + 1) - c));
}
else
{
Console.WriteLine(objeto.Substring(0, (quantidade+1)-c));
}
}

Console.WriteLine();
Console.WriteLine();
}
OLIVEROCULTO 27/05/2015 10:17:30
#447078
Cara perfeito!
Pelo fato de ser novato ainda não compreendo algumas funções.
Mas valeu era isso mesmo que eu precisava!

Muito grato!
Tópico encerrado , respostas não são mais permitidas