• Matéria: Informática
  • Autor: AnotherTime
  • Perguntado 8 anos atrás

Linguagem C: Faça um programa para ler um vetor com 10 elementos e inverter a posição destes elementos, de tal modo que o primeiro elemento venha a ser o último depois da inversão. Não faço ideia como inverter as posições.

Respostas

respondido por: bokomoko
3
Que tal assim ? 

#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <time.h>
 #define RAND_MAX 100
   void obtem_vetor( char *mensagem, int vetor[]){
   char tecla;
   printf("Quer digitar 10 valores ou quer que o computador o faça ? S/n");
   scanf("%s",&tecla);
   if ( tecla == "S") {
       // obten vetor do teclado
      printf("%s \n",mensagem);
      for( int l=0 ; l<10 ; l++){
          printf("Informe o elemento [%i] = ",l);
        scanf("%i",&vetor[l]);
       };
   }
   else {
      for( int l=0 ; l<10 ; l++){
          vetor[l] = (rand()*100) - 50;
       };
         }
    }
  void exibe_vetor( char *mensagem, int vetor[], int limite) {
   printf("\n %s \n",mensagem);
   for (int i=0; i<limite;i++){
     printf("Elemento [%i] = %i \n",i,vetor[i]);
 };
 };
  void main() {
 int original[10];
 int invertido[10];
  srand(time(NULL)); // should only be called once
      obtem_vetor("Informe dados do vetor original",original);
   exibe_vetor("Eis o vetor na ordem original",original,10);
   printf("\n");
  // invertendo a ordem
  printf("\nInvertendo \n");
 for( int l=0 ; l<10 ; l++){
      invertido[9-l] = original[l];
    };
   exibe_vetor("Eis o vetor na ordem invertida",invertido,10);
         }
Pode vë-lo aqui 
https://repl.it/data/repls/49e0d2de-1773-4d78-a3ac-d6059bc0d8ce/__replit_main__/revision/15111688888...

Perguntas similares