Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

InfernalStorm

Arrays

Recommended Posts

InfernalStorm

alguem me pode xplicar mais ou menos e ilustrar me como funciona o array???agradeço

Share this post


Link to post
Share on other sites
vbmaster

Enquanto não diminuires esse avatar, ninguém te diz nada.... e há uma coisa chamada edit... não é preciso fazer double post... :D

Share this post


Link to post
Share on other sites
Gurzi

devia ser feito uma obrigatoriedade nisto dos avatrs e o forum n aceitar com dimensao maior  a x

Share this post


Link to post
Share on other sites
deathseeker25

Parece q ele ja tirou o avatar... mas n vejo o codigo... :D

Porque simplesmente não existe... :D

Share this post


Link to post
Share on other sites
David Pintassilgo

O que pretendes saber mais propriamente sobre arrays? não sabes rigorosamente nada do que se trata o assunto? ou tens uma minima noção? o que sabes?

Enquanto não diminuires esse avatar, ninguém te diz nada....

Não me leves a malta, mas axo que não há necessidade de 'falar' dessa forma. Eu sei que não há qq maldade nem más intrepertações a dar, mas há quem possa intrepertar isso de uma forma agreciva. :S  se calhar agora intrepretas-me tu mal, mas não é essa a minha intenção ;D


cool stuffs to check.

http://blog.zxcoders.com//

Share this post


Link to post
Share on other sites
InfernalStorm

para já peço as minhas desculpas pelas dimensoes do meu avatar, nao tinha reparado e obrigado pelo aviso. a unica koisa k sei dos arrays e k por exemplo hoje fiz um programa na aula em k consistia k o programa pedisses 10 numeros inteiros ao utilizador, e dpx ordenava os mesmos em decrescente

Share this post


Link to post
Share on other sites
Gurzi

hmm.. isso dos arrays é engraçado.. vou fazer um tutorial para ti se quiseres :D

deathseeker , faço um tut para o fórum para ser mais um alem do das funções ?

Share this post


Link to post
Share on other sites
vbmaster

para já peço as minhas desculpas pelas dimensoes do meu avatar, nao tinha reparado e obrigado pelo aviso. a unica koisa k sei dos arrays e k por exemplo hoje fiz um programa na aula em k consistia k o programa pedisses 10 numeros inteiros ao utilizador, e dpx ordenava os mesmos em decrescente

Arrays não tem muito que se lhe diga....

Estas são apenas blocos de dados de um determinado tipo.

Por exemplo:

int values[20];

pode ser imaginado como um comboio de 20 vagões e em que cada vagão cabe uma, e apenas uma, varíavel do tipo int. Se quiseres alterar a variável do 5º vagão, fazes:

values[4] = n;

É 4 e não 5, porque o primeiro vagão é o 0 e não o 1. :D

Podias construir o teu próprio comboio (array) e adicionando-lhe logo valores fazendo:

int comboio [5] = {54, 48, 20, 48, 60}

um combio de 5 vagões portanto.

Mas o Gurzi explica-te melhor.... :D

Share this post


Link to post
Share on other sites
Gurzi

isso que o vbmaster disse é uma excelente explicação .. acho que deu para entender!

Mas os arrays tem muito que falar porque quando se trata de multidimensionais atrapalha um pouco, deixa-nos confusos..

podes pensar como um armário que guarda várias coisas e esse armário é a prateleira.. agora dentro do armário tem varias prateleiras.. ou seja variavel em que a variável é o armário e o i as prateleiras.. 

Os indices(o i) das arrays como o vbmaster disse iniciam-se em 0. por isso se te quiseres referir á primeira prateleira do armário terias que indicar armario[0] . se fosse a 2 seria armario[1] e por ai adiante..

se ao criares o armário com as respectivas prateleiras >> armario[4]  e não indicares o que está la dentro o compilador automaticamente te vai entender que está vazio por isso cada prateleira fica com o valor 0.

Para dizeres o que está lá dentro ou indicas no decorrer do problema , ou se souberes logo ao inicio fazes algo como o vbmaster indicou.

armario[4] = {'agua','leite','azeite','manteiga'}

se não indicasses nada ficaria assim armario[4] = {'0','0','0','0'};

bem isto é o mais simples, como indiquei depois vem o vector de vectores ( arrays multidimensionais} que já é mais complicadito , mas nada que não tenha solução.

espero ter ajudado :D

qualquer dúvida é so postar:)

ps : benvindo ao fórum :D

Share this post


Link to post
Share on other sites
Warrior

Mais uma explicação:

Eu julgo que é mais facil perceber-se um array como uma linha/tabela/paralelipipedo (array tridimensional)/etc. Acima do tridimensional começa a ser dificil imaginar/descrever...

Imagina um array "normal" (uma vez que até agora têm usado C para explicar e me parece que estás mesmo em iniciação, vou usar Pascal pois desconfio que é essa a linguagem que utilizas nas aulas)

var v:array[1..10] of integer; //um array "v" com 10 posições (de v[1] a v[10])

Podes imaginá-lo assim

-----------------------------------------------------------------------------

| v[1] | v[2] | v[3] | v[4] | v[5] | v[6] | v[7] | v[8] | v[9] | v[10] |

-----------------------------------------------------------------------------

Ou seja, uma tabela com uma linha (ou podes imagina-la com uma coluna) com 10 células, em que cada uma delas é tratada individualmente como uma variável à qual acedes pelo respectivo numero. (neste caso cada uma das variaveis pode guardar numeros do tipo inteiro (integers)

Em vez de um vector podes ter uma matriz (ambos são arrays)

var m:array[1..10,1..2] of integer;

Aqui tens uma tabela com 10 colunas e 2 linhas

-----------------------------------------------------------------------------------------------------------

| m[1,1] | m[1,2] | m[1,3] | m[1,4] | m[1,5] | m[1,6] | m[1,7] | m[1,8] | m[1,9] | m[1,10] |

-----------------------------------------------------------------------------------------------------------

| m[2,1] | m[2,2] | m[2,3] | m[2,4] | m[2,5] | m[2,6] | m[2,7] | m[2,8] | m[2,9] | m[2,10] |

-----------------------------------------------------------------------------------------------------------

Novamente, cada célula é tratada como uma variável independente.

Podes ir depois acrescentando dimensões.

Um array é normalmente percorrido usando um ciclo for, mas depende do objectivo que tens para ele.

Share this post


Link to post
Share on other sites
edumad

Hmmm, ninguém tem fisica na escola? Vectores!

E para quem tá mais longe, matrizes.

Mas o ppl já explicou bem...

Share this post


Link to post
Share on other sites
vbmaster

Vectores em física não é bem o mesmo que vectores em programação....

o mesmo que dizer que não tem nada a ver...

Share this post


Link to post
Share on other sites
edumad

Yah,devia ter dito matematica, mas fisica tb usa(se calhar nao no 12º)

....

k os vectores (->) tem o mesmo nome que os vectores ([...,...,...,...], arrays unidimensionais)

Share this post


Link to post
Share on other sites
InfernalStorm

tenho k fazer um trabalho em c++ cujo o programa pede o utilizador insira um numero e k apareca o numero de asteriscos que o utilizador insira no outpu. alguem sabe como faze-lo??aguardo respostas e obrgado pela ajuda k me teem dado******

Share this post


Link to post
Share on other sites
InfernalStorm

se o utilizador inserir "2" tem de aparecer no output "2 **" alguem sabe como faze-lo??aguardo respostas e obrgado pela ajuda k me teem dado******

Share this post


Link to post
Share on other sites
edumad

assim of the top of my head:

n=user input   

result=''

for k=1 to n

result=result . '*'  [ o .  é php, troca isto pela concatenação que se usa em c, que deconheço]

next

agora result é um txt com n * ...

Share this post


Link to post
Share on other sites
InfernalStorm

eu tou a compilar no microsoft visual c++. nao percebi esse codigo k puseste ai

Share this post


Link to post
Share on other sites
vbmaster

#include <iostream>
using namespace std;

int main () {
int number;   // Variável que recebe o número introduzido
cout << "Insira um número: ";
cin >> number;  // afectação do número introduzido à variável 
cout << endl << endl;
for (int i = 0; i < number; ++i) {
cout << "*";  }
//  a cada for é coutado um "*"; o numero de astericos coutado sera igual ao numero introduzido. 
cout << endl;
system.("Pause"); // código para a consola não fechar
return 0; }

Rapaz, isto é demasiado básico.... vê lá bem o que queres fazer à vida.... ;)

Share this post


Link to post
Share on other sites
HoNdAcTr

boa pergunta gurzi... lol

same thing...  :wallbash:

abracu


- - = [ H o N d A c T r ] = - -

Share this post


Link to post
Share on other sites
Gurzi

nao sei porque mas o doutor Paulo dias quando descobrir que andaste aqui no forum a perguntar vai te matar ;)

infernal storm ;)

Share this post


Link to post
Share on other sites
vbmaster

É uma namespace que tem de ser declarada e que contem operadores como o cout, cin etc...

se a nao declarasses assim, sempre que punhas um cout tinhas de fazer "std::cout", o que se tornava repetitivo e cansativo.

;)

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

×

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.