Duvidas em C/C++ [RESOLVIDO]

1. Duvidas em C/C++ [RESOLVIDO]

Hodisseu
hodisseu

(usa Insigne)

Enviado em 28/04/2009 - 19:17h

Aew galera, eu estou com algumas duvidas, comecei a estudar a linguagem C a pouco tempo e ainda tenho mtas duvidas, segue um treco do programa que tenho q analizar:

#include <conio.h>
#include <stdio.h>
void main(){
int vet[] = {4,9,13};
int i;
for(i=0;i<3;i++){
printf("%d ",*(vet+i));
}
}
Minha duvida é se é possível a multiplicação do valor pelo vetor dentro do printf?
eu tenho q dizer o que esse programa faz. Só pra constar, ele não compila. Vlw



  


2. Re: Duvidas em C/C++ [RESOLVIDO]

rafael
rafael.99

(usa Ubuntu)

Enviado em 28/04/2009 - 21:59h

tenta assim:

printf("%d",vet[i]);


3. olha

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 29/04/2009 - 12:23h

não entendi mto bem o que quis dizer com multiplicar valor pelo vetor, mas para acessar o vetor você usa vet[i] ou o indice direto tipo vet[0], vet[1], etc
se esta querendo imprimir o valor do vetor vezes ele mesmo, troque por:
printf("%d", vet[i] * vet[i]);
se for o indice vezes o valor então
printf("%d", i * vet[i]);
mas volto a falar que não entendi exatamente o que quer...

Quanto a não compilar... é pq esta utilizando o conio.h que não existe no linux. Neste caso você não esta usando o conio.h para nada... remova esta linha...

vc sabe utilizar o conio.h?




4. Re: Duvidas em C/C++ [RESOLVIDO]

Isaque Vieira de Sousa Alves
isaque_alves

(usa Fedora)

Enviado em 29/04/2009 - 13:16h

Precisamente.
O problema de compilação é por causa da conio.h...
o header em linux que contém alguns dos protótipos da conio é a ncurses.h.
a questão é:
qualquer operação é possível, pois no fim, você estará 'retornando', ou enviado para a saída, apenas o resultado.
Ex.:
printf("%d x %d = %d", vet[i], vet[i], veti *= i);
ou
printf("%d x %d = %d", vet[i], vet[i], veti * i);

A diferença é que no primeiro caso, o valor contido em vet[i] será alterado na execução do programa hipotético.
No segundo caso, apenas se envia o valor da multiplicação para a saída padrão.

Não esqueça também, de revisar os operadores.


5. Re: Duvidas em C/C++ [RESOLVIDO]

Marcelo A. B. Slomp
mslomp

(usa Slackware)

Enviado em 29/04/2009 - 19:28h

acho que entendi sua questão, que inclusive já foi respondida a contento pelos colegas aí de cima. apenas complementando:
quando você faz alguma operação com o vetor sem especificar o índice, está se referindo ao endereço base. então, vet = &vet[0]
daí que ao fazer alguma operação, estará na verdade fazendo operações de índice imediato (0,1,2,etc), e não a posição na memória, pois nesse tipo de construção já está implícito que o deslocamento relativo à base será i*sizeof(int) - int é o tipo do seu vetor. o compilador fará isso por você automaticamente, e emitirá instruções já levando em conta esse deslocamento. então, vet+i = &vet[0+i], e não &vet[0]+i, nem vet[0]+i


6. Re: Duvidas em C/C++ [RESOLVIDO]

Andi
upc0d3

(usa Gentoo)

Enviado em 04/05/2009 - 09:19h

pra que o #inlcude<conio.h> ??


7. Re: Duvidas em C/C++ [RESOLVIDO]

Hodisseu
hodisseu

(usa Insigne)

Enviado em 05/05/2009 - 07:40h

o include<conio.h> é a biblioteca do getch().






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts