Dificuldades em C++

MarcoC

Membro
Antes de mais o meu muito obrigado, sou estudante de Engenharia EC, e comecei há pouco o meu estudo na área da programação, contudo tenho encontrado bastantes dificuldades numa série de problemas. De momento estou estagnado num problema que tem o seguinte enunciado:

Projecte e implemente um programa que solicita ao utilizador dois caracteres diferentes (garanta que os mesmos diferem) e um inteiro par (número compreendido entre 4 e 30, inclusive) e em seguida desenha o padrão na gura, assumindo que foram dados os caracteres '*' e '-' e o número 6:

* * * * * *
- * - - - -
- - * - - -
- - - * - -
- - - - * -
* * * * * *

Não se esqueça de considerar que a medida do lado apenas pode ser par .


Se alguém tivesse a paciência de me mandar algumas linhas chave poupava-me umas boas horas e uma grade dor de cabeça. Obrigado!
 
Última edição:
Dou-te apenas uma dica: aqui provavelmente ninguém te irá resolver ou fornecer linhas chave do código. Se tentares resolver, e apresentar a tua resolução, aí sim terás pessoal a ajudar-te e a orientar-te no problema ;)
 
Senão consegues fazer esse programa básico achas que consegues passar a cadeira/disciplina? Divide o problema por partes e pensa ninguém vai fazer por ti... Isso faz se em 10 minutos...
 
Infelizmente esta cadeira não faz parte do meu plano de estudos do actual ano lectivo, estou simplesmente a matar a curiosidade e a tentar ir aprendendo qualquer coisa a mais o que não é propriamente fácil quando tudo o que se tem é dois ou três manuais de 1000 páginas, umas dezenas de exercícios e muito pouco tempo livre. Eu não vim pedir para aqui para me fazerem nenhum trabalho, só pensei que me facilitaria toda a tarefa da pesquisa uma ou duas dicas para controlar os ciclos ou funções... Vou tentar ter os "10 min" para elaborar um código e logo então eu peço a opinião :)
 
Começa pelo básico, como requisitar caracteres, como apresentar caracteres.
Depois podes ver como comparar caracteres.
 
- pedes 1º caracter guardas numa variavel
- pedes 2º caracter guardas numa variavel
- Pedes num de linhas visto que é igual as colunas (matriz quadrada)
- entretanto validas os inputs (neste caso se os simbolos sao diferentes e que o num de linhas é par)
- fazes um for pelas linhas e depois fazes um for pelas colunas e verificas se as variaveis de iteracao dos ciclos sao iguais... se forem metes o 2º caracter senao metes o 1º...

basicamente é isto.... com alguns ajustes

Faz desenhos no papel se fores a pensar isso é uma matriz de 2 dimensoes ;)


AGORA COMEÇA A BATER CODIGO e a bater com a cabeça :P


http://www.tutorialspoint.com/cplusplus/cpp_for_loop.htm
 
Última edição:
#include <iostream>
using namespace std;

int num, k, i;
char x, y;

int main ()
{


while (true)
{
cout << " Introduza dois caracteres diferentes e um inteiro par (número compreendido entre 4 e 30, inclusive): \n";
cin >> x >> y >> num;

if ((num >= 4) && (num <= 30) && (num%2 != 0))
break;

else if (x!=y)
break;

else
cout << "As condições não foram seguidas!\n";
}


cout << "\n";


for (i=0, i<num, i++)
{
if ((i==0) || (i=num))
{
for (i=0, i=num, i++)
{
if

else

}
}
else
{
for
{
if

else

}
}
cout<< "\n";
}
return (0);

}


Neste momento, depois de uma hora, isto está assim... Eu sei que a estrutura deve ser parecida, mas não consigo encontrar as iterações certas para o programa cumprir o objectivo...
 
Depois de mais umas horas, ficou assim:

#include <iostream>
using namespace std;

int num, k, i;
char x, y;

int main ()
{


while (true)
{
cout << " Introduza dois caracteres diferentes e um inteiro par (número compreendido entre 4 e 30, inclusive): \n";
cin >> x >> y >> num;

if ((num >= 4) && (num <= 30) && (num%2 != 0))
break;

else if (x!=y)
break;

else
cout << "As condições não foram seguidas!\n";
}


cout << "\n";

for(i = 1 ; i <= num ; i++)
{
for(k = 1 ; k <= num ; k++)
{
if(i == 1 || i == num || k == i)
{
cout << x;
} else
{
cout << y;
}
if(k==num)
{
cout << "\n";
}
}
}

return (0);

}


Acho que já está funcional!
 
eu estive a tentar usar um chamado eclipse mas não me orientei muito bem, depois encontrei o Dev C++ e até o consigo entender minimamente... ^^
 
Foi simplesmente estupidez minha, eu estava a dar Debug e ele abria-me o terminal e corria o programa só que fechava logo que terminasse. Foi só dar run depois de compilar e já funcionou bem...
 
Back
Topo