Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
tenho que gerar os numeros numeros 100 a 200 e pegar os numeros impares e mostrar na tela
public class Exercicios6 {
public static void main(String[] args) {
int vetor[] = new int[200], cont;
for (cont = 100; cont <= 200; cont++) {
if (cont % 2 > 0) {
vetor[cont] = cont;
}
}
// for(int i = 0; i < x.length; i++)
for (cont = 100; cont <= 200; cont++) {
System.out.println("vetor[" + cont + "]" + vetor[cont]);
// if()
}
}
}
O RESULTADO É ESSE QUE TIRAR OS ZEROS E ARMAZENAR NUMEROS MAIORES QUE ZERO COMO EU FAÇO ISSO ?
vetor[100]0
vetor[101]101
vetor[102]0
vetor[103]103
vetor[104]0
vetor[105]105
vetor[106]0
vetor[107]107
vetor[108]0
vetor[109]109
vetor[110]0
vetor[111]111
vetor[112]0
vetor[113]113
vetor[114]0
vetor[115]115
vetor[116]0
vetor[117]117
vetor[118]0
vetor[119]119
vetor[120]0
vetor[121]121
vetor[122]0
vetor[123]123
vetor[124]0
vetor[125]125
vetor[126]0
vetor[127]127
vetor[128]0
vetor[129]129
vetor[130]0
vetor[131]131
vetor[132]0
vetor[133]133
vetor[134]0
vetor[135]135
vetor[136]0
vetor[137]137
vetor[138]0
vetor[139]139
vetor[140]0
vetor[141]141
vetor[142]0
vetor[143]143
vetor[144]0
vetor[145]145
vetor[146]0
vetor[147]147
vetor[148]0
vetor[149]149
vetor[150]0
vetor[151]151
vetor[152]0
vetor[153]153
vetor[154]0
vetor[155]155
vetor[156]0
vetor[157]157
vetor[158]0
vetor[159]159
vetor[160]0
vetor[161]161
vetor[162]0
vetor[163]163
vetor[164]0
vetor[165]165
vetor[166]0
vetor[167]167
vetor[168]0
vetor[169]169
vetor[170]0
vetor[171]171
vetor[172]0
vetor[173]173
vetor[174]0
vetor[175]175
vetor[176]0
vetor[177]177
vetor[178]0
vetor[179]179
vetor[180]0
vetor[181]181
vetor[182]0
vetor[183]183
vetor[184]0
vetor[185]185
vetor[186]0
vetor[187]187
vetor[188]0
vetor[189]189
vetor[190]0
vetor[191]191
vetor[192]0
vetor[193]193
vetor[194]0
vetor[195]195
vetor[196]0
vetor[197]197
vetor[198]0
vetor[199]199
Porque você não economiza memória e deixa de usar esse array e usa os laços while e for?
Abcx,
LCS
tenho que gerar os numeros numeros 100 a 200 e pegar os numeros impares e mostrar na tela
Eu faria de uma forma diferente. A sequência dos números naturais pares ou ímpares forma uma progressão aritmética de razão 2. Isso quer dizer que você pode usar apenas 1 for p/ "gerar" (na verdade percorrer a sequência) os números ímpares:
[/size][/color]
[color="#555753"][size="2"]public static void main(String[] args) {
final int inicioIntervalo = 100;
final int finalIntervalo = 200;
int primeiroElemento = (inicioIntervalo % 2 > 0) inicioIntervalo : inicioIntervalo + 1;
int ultimoElemento = (finalIntervalo % 2 > 0) finalIntervalo : finalIntervalo - 1;
for (int i = primeiroElemento; i <= ultimoElemento; i+=2)
System.out.println(i);[/size][/color]Se você precisa mesmo armazenar isso num array, você pode calcular a quantidade de números utilizando a fórmula da progressão aritmética: an = a1 + (n - 1) * r
No seu caso, a1 = 101, an = 199 e r = 2 : 199 = 101 + (n - 1) 2 = 98 = 2n - 2 = 100 = 2*n = n = 50. Então seu programa ficaria parecido com isso:
public static void main(String[] args) {
final int inicioIntervalo = 101;
final int finalIntervalo = 199;
int qtdImpares = (finalIntervalo - inicioIntervalo + 2) / 2;
int arrayImpares[] = new int[qtdImpares];
int i,j;
for (j = 0, i = inicioIntervalo; j < qtdImpares; j++, i += 2)
arrayImpares[j] = i;
}public static void main(String args[]){
int vetor[] = new int[100], cont = 0;
for (int i = 100 ; i < 200; i++){
if(i % 2 != 0)
vetor[cont++] = i;
}
cont = 0;
for (int i=0;i < 50;i++){
if(vetor[i] != 0)
System.out.println("Vetor["+i+"]="+vetor[i]);
}
}Nossa nunca tinha pensado nessas colocações, valeu gente, obrigado pela ajuda tenho que estudar muito sobre o vetor
Se quer colocar outros valores onde tem zero eh soh percorrer todo array e colocar esses valores nas posicoes pares. Repare q soh tem zero em 100,102, 104... sao todas posicoes pares..