Pajé Postado Março 22, 2010 Denunciar Share Postado Março 22, 2010 (editado) Boa tarde galera,Estou queimando neuronios aqui...fiz varios testes mas ainda não obtive exito.O problema é o seguinte:Faça um programa em C que leia um vetor de 20 posições do tipo real. Troque a 1ª posição com a 11ª, a2ª com a 12ª, a 3ª com a 13ª, ..., 10ª com a 20ª. Escreva o vetor modificado.Consegui fazer inverso, porém trocar da 1ª posição com a 11ª,2ª com a 12ª e assim sucessivamente "não consegui".alguém pode me dar um dica? Olhem meu script em C++Agradeço a ajuda#include <stdio.h>;#include <conio.h> ;void main() { float pos[20]; int i,troca,aux; gotoxy (10,10); printf ("Digite 20 valores:"); for (i=0;i<20;i++) { gotoxy (i*3+4,12); scanf ("%f",&pos); } for (i=0;i<10;i++) { troca = pos; pos = pos[19-i]; pos[19-i] = troca; } gotoxy (10,14); printf ("Troca de posicoes dos elementos"); for (i=0;i<20;i++) { gotoxy (i*3+4,16); printf ("%2.0f", pos); } getch();} Editado Março 22, 2010 por Pajé Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RonaldoRG Postado Março 22, 2010 Denunciar Share Postado Março 22, 2010 Ao invés desse:for (i=0;i<10;i++) { troca = pos[i]; pos[i] = pos[19-i]; pos[19-i] = troca; } Coloca esse: for (i=0;i<10;i++) { troca = pos[i]; pos[i] = pos[i+10]; pos[i+10] = troca; }Você se confundiu um pouco com os índices. Qualquer coisa retorna. Abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Pajé Postado Março 23, 2010 Autor Denunciar Share Postado Março 23, 2010 Puxa...entendi.Funcionou legal.Muito obrigado pela ajuda. :D Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Pajé
Boa tarde galera,
Estou queimando neuronios aqui...fiz varios testes mas ainda não obtive exito.
O problema é o seguinte:
Faça um programa em C que leia um vetor de 20 posições do tipo real. Troque a 1ª posição com a 11ª, a
2ª com a 12ª, a 3ª com a 13ª, ..., 10ª com a 20ª. Escreva o vetor modificado.
Consegui fazer inverso, porém trocar da 1ª posição com a 11ª,2ª com a 12ª e assim sucessivamente "não consegui".
alguém pode me dar um dica? Olhem meu script em C++
Agradeço a ajuda
#include <stdio.h>;
#include <conio.h> ;
void main() {
float pos[20];
int i,troca,aux;
gotoxy (10,10);
printf ("Digite 20 valores:");
for (i=0;i<20;i++) {
gotoxy (i*3+4,12);
scanf ("%f",&pos);
}
for (i=0;i<10;i++) {
troca = pos;
pos = pos[19-i];
pos[19-i] = troca;
}
gotoxy (10,14);
printf ("Troca de posicoes dos elementos");
for (i=0;i<20;i++) {
gotoxy (i*3+4,16);
printf ("%2.0f", pos);
}
getch();
}
Editado por PajéLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.