#+title: Curso Básico da Linguagem C #+subtitle: Exercícios #+author: Blau Araujo #+startup: show2levels #+options: toc:3 * Exercícios da aula 6: Vetores - [[../../aulas/06-vetores/README.org][Anotações da aula]] - [[https://youtu.be/W5TGNQYFs4E][Vídeo]] ** 1. Desafio: Função =print_array_shift= Dado o programa abaixo: #+begin_src c #include int main(void) { int vetor[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int desloca = ???; // <--- inicializar com o valor do deslocamento! print_array_shift(/* ??? */); return 0; } #+end_src Escreva a função =print_array_shift= de acordo com essa descrição: #+begin_example PROTÓTIPO: void print_array_shift(int *arr, int size, int shift); DESCRIÇÃO: Desloca para a esquerda os elementos do vetor 'arr', de tamanho 'size', em 'shift' posições e imprime os valores na sequência resultante. #+end_example No teste, programa deverá imprimir no terminal: #+begin_example :~$ ./a.out 6 7 8 9 10 1 2 3 4 5 #+end_example ** 2. Desafio: Função =array_shift= Dado o programa abaixo: #+begin_src c #include int main(void) { int vetor[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int desloca = ???; // <--- inicializar com o valor do deslocamento! array_shift(/* ??? */); /* Rotina de impressão do resultado do deslocamento */ return 0; } #+end_src Crie a função =array_shift= de acordo com a descrição abaixo: #+begin_example PROTÓTIPO: void array_shift(int *arr, int size, int shift); DESCRIÇÃO: Desloca para a esquerda os elementos do vetor 'arr', de tamanho 'size', em 'shift' posições. #+end_example A saída do teste deve ser a mesma do desafio anterior. ** 3. Desafio: Função =array_reverse= Dado o programa abaixo: #+begin_src c #include int main(void) { int vetor[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; /* Rotina da impressão do vetor original */ array_reverse(/* ??? */); /* Rotina de impressão do vetor invertido */ return 0; } #+end_src Escreva a função =array_reverse= de acordo com a descrição abaixo: #+begin_example PROTÓTIPO: void array_reverse(int *arr, int size); DESCRIÇÃO: Inverte a ordem dos elementos do vetor 'arr'. #+end_example O teste deverá imprimir... #+begin_example :~$ ./a.out 1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1 #+end_example