inicialização de um vetor

inicialização de um vetor

por Domingos Soares -
Número de respostas: 4
Professor,
querido professor,

me diga,

como que eu inicializo o vetor??????


#include<stdio.h>

int main () {

int v[100];
int m, n;

m=v[100];

for (int i = 0; i < 100; i++ ){
v[i] = i;
}
getchar();
return 0;

}

depois disso, eu inicializei o i, mas nada também diz que dá erro,

:\\


Ajuda aí

:D
Em resposta à Domingos Soares

Re: inicialização de um vetor

por Domingos Soares -
Oi Marina,

Para alterar o valor de todas as posições de um vetor é preciso
percorrer o vetor inteiro. Por exemplo, o trecho de código a seguir
inicializa todas as posições do vetor V com zero:

int i;

int V[100];

for(i = 0; i < 100; i++)
V[i] = 0;

Você também pode inicializar todas as posições de um vetor com um
determinado valor (zero, no exemplo que segue) durante a declaração
das variáveis.

int V[100] = {0, };

Mas, atenção, isso SÓ pode ser feito durante a declaração da variável.
O código a seguir está ERRADO:

int V[100];

V = {0, }; /* errado */

V[100] = {0, }; /* mais errado ainda */

Agora, em relação ao seu código, na linha

m=v[100];

você está cometendo três erros. O primeiro é que a posição 100 do
vetor v não existe. As posições de v estão no intervalo [0, 99].
Agora, mesmo que você corrija este erro ainda restará um outro: nesse
ponto v ainda não foi inicializado. Logo, você está atribuindo lixo à
variável m. O terceiro erro é que você escreveu

for (int i = 0; i < 100; i++ ){
v[i] = i;
}

O padrão ANSI C90 da linguagem C não aceita a declaração da variável
'int i' dentro do loop 'for'. Logo, se você tentar compilar esse
código o gcc vai indicar um erro de compilação. Há duas saídas. A
primeira é escrever:

int i;

for (i = 0; i < 100; i++ ){
v[i] = i;
}

A segunda e menos aconselhável (inclusive NÃO será aceita no EP) é
pedir para o gcc usar o padrão ANSI C99. Como eu expliquei em sala de
aula, basta compilar o código com:

gcc -Wall -pedantic -ansi -std=c99

Abraços,

PS: eu achei as suas dúvidas bem interessantes e vou postá-las no fórum. boca aberta

Domingos.
Em resposta à Domingos Soares

Re: inicialização de um vetor

por Daniel Bazilio Zibordi -
Boa Tarde Domigos,

Professor, me exclareça uma dúvida: no enunciado do exercíco da sexta feira, o professor pedia o intervalo de [0, 100]. Nesse caso teremos que declarar um vetor de 101 posições e rodar o while de exibição com a condição i<=100. Mas ali em cima para a Marina, o professor disse que o intervalo seria [0, 99] (100 posições de um vertor)
Como devo deixar o exercício?

Obrigado e Grato desde já
Daniel Zibordi
Em resposta à Daniel Bazilio Zibordi

Re: inicialização de um vetor

por Domingos Soares -
Não, não. Na questão da Marina eu apenas fiz referência ao código dela. Em nenhum momento citei o exercício que eu deixei para hoje. No caso desse exercício, o vetor deve possuir 101 posições, como você disse.

Abraços,

Domingos.