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
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.
Domingos.
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;
}
'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.
Domingos.
Realmente, são muito interessantes e esclareceu muita coisa...
legal.
legal.
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
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
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.
Abraços,
Domingos.