Raíssa 0 Denunciar post Postado Outubro 27, 2012 Me ajudem com esse exercício? Dado o seguinte vetor 1 2 3 4 5 6 7 8 VET = |7|4|1|5|8|2|3|6| qual será o seu conteúdo após a execução dos seguintes comando: for I:=8 downto 5 do begin AUX:= VET; VET := VET[8-I+1]; VET[8-I+1] :=AUX; end; Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Outubro 28, 2012 Que linguagem de programação é essa? :huh: Compartilhar este post Link para o post Compartilhar em outros sites
Raíssa 0 Denunciar post Postado Outubro 28, 2012 C++ Estou com duvida tbm nesse: Dado um vetor A contendo 100 elementos inteiros gerar e exibir um vetor B cujos elementos estão na ordem inversa de A. Minha duvida esta em como colocar os elementos em ordem impressa na hora de imprimi. int k; /*contador*/ int i=0; int j=0; /*inserindo o valor de A*/ printf("digite o valor de A:"); /* ler o vetor de A elementos */ for (k=0; 100>=k; k++) { printf("n - entre com o valor do elemento "); scanf("%d", &A[i]); } /* construir o vetor B na ordem inversa */ printf("n *** B em ordem inversa ***"); for (i = i-1; i >= 0; i--) B[j] = A[i]; printf("n * elemento %d = %d", i, B[j]); system("pause"); return 0; } /* ler o vetor de A elementos */ for (k=0; k < A; k++) { printf("\n - entre com o proximo elemento %5d:", k); scanf("%d", &A[i]); } /* construir o vetor B na ordem inversa */ printf("\n *** B em ordem inversa ***"); for (i = A-1; i >= 0; i--) B[j] = A[i]; printf("\n * elemento %d = %d",j, B[j]); system("pause"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 28, 2012 A linguagem do primeiro post é Pascal. Um simples teste de mesa (execução manual do algoritmo) já resolve. P/ gerar um segundo vetor com o conteúdo do primeiro invertido, basta trabalhar com os índices. Se A tem 10 elementos, B[0] = A[9]: for(int i=MAX_TAM; i > 0; i--) { B[MAX_TAM-i] = A[i-1]; } MAX_TAM=5 i = 5 :: B[0] = A[4] i = 4 :: B[1] = A[3] i = 3 :: B[2] = A[2] i = 2 :: B[3] = A[1] i = 1 :: B[4] = A[0] Compartilhar este post Link para o post Compartilhar em outros sites
Raíssa 0 Denunciar post Postado Outubro 28, 2012 certo, aí vai ter q declarar uma variável com MAX_TAM, né? Obrigada, vou tentar refazer com isso. Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Outubro 28, 2012 MAX_TAM no exemplo dado pela _Isis_ será uma constante (o valor não muda no decorrer do programa). Esse valor é "declarado" dessa forma: #define MAX_TAM 5 * aconselhável colocá-lo após as bibliotecas. Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 28, 2012 Detalhe: se você definir o MAX_TAM com a diretiva define, o que ocorre é uma substituição de texto; não se define nenhuma variável dentro do programa. P/ que seja considerado uma variável com valor constante, teria que ser declarado como const int MAX_TAM = 100. Se você tentar alterar o valor da variável em algum lugar do código, vai dar erro de compilação. Só p/ deixar as coisas mais claras, caso isso seja pergunta de prova ou coisa parecida. Compartilhar este post Link para o post Compartilhar em outros sites
Raíssa 0 Denunciar post Postado Outubro 28, 2012 certo, refiz o codigo, mas na hora de imprimi só sai um valor. #include <cstdlib> #include <iostream> #define MAX_TAM 100 using namespace std; int main() { int A[100]; int B[100]; int k; /*contador*/ int i=0; int j=0; /*inserindo o valor de A*/ printf("digite o valor de A:"); /* ler o vetor de A elementos */ for (k=0; 100>=k; k++) { printf("\n - entre com o valor do elemento "); scanf("%d", &A[i]); } /* construir o vetor B na ordem inversa */ printf("\n *** B em ordem inversa ***"); for(int i=0; i < MAX_TAM; i++) { B[(i + MAX_TAM)%MAX_TAM] = A[i]; printf("\n * elemento %d = %d",i, B[j]); } system("pause"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 28, 2012 O índice está errado, não? Veja lá no outro post. Compartilhar este post Link para o post Compartilhar em outros sites