Jump to content
tiagopirassol

Arrays

Recommended Posts

tiagopirassol

boa tarde, tenho este exercicio para fazer mas não consigo chegar lá. alguem pode me dar uma ajuda? e que infelizmente o professor deu nos o exercicio sem explicar os Arrays:

num ficheiro .c crie uma estrutura de dados com o nome testeestrutura. a estrutura deve conter variaveis com as seguintes caracteristicas: um array inteiro de 12 posicoes , variavel para guardar um unico caracter, duas variaveis para guardar valores com virgula

Share this post


Link to post
Share on other sites
pikax

qual e' a tua duvida e o que ja' tens feito?

PS: Aqui quase ninguem vai fazer trabalhos, por muito simples que sejam.


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
nelsonr
num ficheiro .c crie uma estrutura de dados com o nome testeestrutura.

http://www.cs.usfca.edu/~wolber/SoftwareDev/C/CStructs.htm

a estrutura deve conter variaveis com as seguintes caracteristicas: um array inteiro de 12 posicoes

http://www.thegeekstuff.com/2011/12/c-arrays/

http://www.tutorialspoint.com/cprogramming/c_arrays.htm

, variavel para guardar um unico caracter, duas variaveis para guardar valores com virgula

Vê o char e float

http://www.lix.polytechnique.fr/~liberti/public/computing/prog/c/C/CONCEPT/data_types.html

Edited by Rui Carlos

Share this post


Link to post
Share on other sites
thoga31

Cada vez mais os exercícios são dados "sem que o professor tenha explicado". Humm... Mas adiante...

Tens aqui duas referências para veres os arrays e as suas particularidades:

http://www.tutorialspoint.com/cprogramming/c_arrays.htm

http://pw1.netcom.com/~tjensen/ptr/pointers.htm

Anyway, um array é uma estrutura de dados complexa que, com um só identificador, permite armazenas n elementos:

tipo identificador[dimensao] = {valores iniciais};  /* a inicialização é opcional */

Se queres um array com 100 elementos, a dimensão é, então 100.

Qualquer dúvida em específico, dispõe. Tens aqui material de sobra para estudares um pouco por ti ;)


Knowledge is free!

Share this post


Link to post
Share on other sites
tiagopirassol

Obrigado :) eu não sabia sequer por onde começar a criar a estrutura. estou a ser sincero, nao nos foi explicada esta materia. obrigado pela ajuda de todos :)

mais uma questão:

elabore uma função que receba como parametro um numero inteiro positivo . a funcao deve imprimir tantas linhas como o numero passado por parametro e cada linha deve ter o mesmo numero de caracteres. os caracteres vao alternando de linha para linha , etre * e #. a funcao nao retorna qq valor.

ex: o parametro e 4 e a impressao no ecra é:

****

####

****

####

o que fiz foi.

int main()
{
int a, j, i;

do
{

printf("Introduza um numero\n");
scanf("%d",&a);

for (i=0; i<=a; i++);

printf("* %d\n",i);

for (j=0; j<=a; j++);

printf("# %d\n",j);

}while (a>0);



return 0;
}

mas n funciona :( onde esta o erro disso?

Edited by tiagopirassol
Formatação + tags code + GeSHi

Share this post


Link to post
Share on other sites
thoga31

Cuidado a meter aqui os conteúdos copy-paste, formata devidamente o post antes de o publicar, colocando o código dentro das tags CODE e uniformizando a letra.

De seguida, indenta correctamente o código.

Depois, o enunciado pede uma função, e tu estás a meter tudo dentro do main, está mal.

Nos teus printf, porque estás a fazer output dos iteradores? Só é preciso fazer output dos caracteres.

Mais, tens ";" depois de cada for, e não deve existir.

E não estás a fazer output, dessa forma, das linhas alternadas n vezes.

Segundo entendi, se o input for 4, o output é:

****
####
****

E se for 6? Será isto?

******
######
******
######
******

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
tiagopirassol

se for 6 sera isto:

******
######
******
######
******
######

struct TesteEstrutura
{
   int meu_array[12];
   char var1[1];
   float var2,var3;
} estrutura;
int main()
{
   return 0;
}

é isto?

Edited by thoga31
GeSHi

Share this post


Link to post
Share on other sites
thoga31

struct TesteEstrutura
{
   int meu_array[12];
   char var1[1];
   float var2,var3;
} estrutura;
int main()
{
   return 0;
}

é isto?

O main não está aí a fazer nada. Só é pedida a estrutura.

Está quase certo, porque puseste um "[1]" no char? É pedida uma variável que guarde um caracter, e não um array char com 1 elemento.

Quanto ao problemas dos *#, tens de ter n linhas com n caracteres em cada, e os caracteres devem intercalar por linha entre * e #. Repara em que linhas é que tens * e em quais tens #. Tens de ter uma condição que faça mudar o caracter escrito.


Knowledge is free!

Share this post


Link to post
Share on other sites
thoga31

entao crio uma Int A, pondo A =1 ??

Oi? Para quê?

Só precisas de declarar o caracter, não precisas de nenhum número! Lá porque o professor diz "uma variável que guarde um único caractere", não quer dizer que seja uma array ou que tens de especificar esse "1". Tens é de ter uma variável char, mais nada.

tipo identificador;

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
tiagopirassol

ok, mt obrigado pela ajuda :) o dos * e # vai ficar p canto pois não consigo mm chegar la, meu cerebro ja deu o tilt

Share this post


Link to post
Share on other sites
thoga31

Não é difícil. Vai por partes. Tens de aprender a dividir o problema por partes. Repara:

1) Escrever n caracteres;

2) Repetir essa linha n vezes;

3) Variar o caracter de cada linha.

Começa por resolver o ponto 1, depois segue para o 2, e só depois pensas no 3. A adaptação do código de um ponto para o outro é simples. Não tentes pensar agora em tudo de uma vez. Começa lá por fazer o ponto 1, vais ver que em menos de nada tens isso feito ;)

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.