Mesma coisa essa, na parte de traduzir para o C, até consigo mas fazer rodar são outros 500.
Anexos:
Soluções para a tarefa
Respondido por
1
a) O que representam os elementos do Vetor Y ?
Se X(I) for igual a 1 então faça
Y(K) = I
K = K + 1
Fim do Se
Nesse trecho do código vemos que o vetor Y armazena as posições em que o vetor X tem o valor 1.
Por exemplo, se no vetor Y tem o valor "5", significa que na posição 5 do vetor X há o valor 1.
______________________________________________________
b) O que define o valor final de K ?
Analisando o trecho apresentado na questão anterior, observa-se que o que define o valor final de "K" é a quantidade de valor 1 contidos no vetor X.
Começa com K=1. Para cada X[I]==1, soma-se 1 em K. No final, K é reduzido em uma unidade. Portanto, teremos somente a quantidade de "uns" contidos em X.
__________________________________________________
c) Implemente tal algoritmo para a linguagem C:
#include <stdio.h>
int main()
{
int I, J, N, K;
int *X, *Y;
N = 20;
I = 1;
X = (int *) malloc(N * sizeof(int));
Y = (int *) malloc(N * sizeof(int));
//LAÇO 1
while(I <= N)
{
X[I] = 1;
I++;
}
I = 2;
//LAÇO 2
while(I <= N)
{
J = 2;
//LAÇO 3
while((I*J) <= N)
{
X[I*J] = 0;
J++;
}
I++;
//LAÇO 4
while( (X[I] == 0) && (I<=N) )
{
I++;
}
}
I = 1;
K = 1;
//LAÇO 5
while(I <= N)
{
if(X[I] == 1)
{
printf("I = %d\n", I);
Y[K] = I;
K++;
}
I++;
}
K--;
return 0;
}
Perguntas interessantes
Geografia,
9 meses atrás
Geografia,
1 ano atrás
Informática,
1 ano atrás
Matemática,
1 ano atrás
Biologia,
1 ano atrás
Matemática,
1 ano atrás