diff --git a/exercicios/16/README.org b/exercicios/16/README.org new file mode 100644 index 0000000..ee0b8fe --- /dev/null +++ b/exercicios/16/README.org @@ -0,0 +1,57 @@ +#+title: Curso Básico da Linguagem C +#+subtitle: Exercícios +#+author: Blau Araujo +#+startup: show2levels +#+options: toc:3 + +* Exercícios da aula 16: Abertura de arquivos para leitura e escrita + +- [[../../aulas/16-rwfiles/README.org][Anotações da aula]] +- [[https://youtu.be/B42KIZfivsg][Vídeo]] + +** 1. Contando e inserindo linhas + +Dado o arquivo =lorem.txt=, abaixo: + +#+begin_example +Lorem ipsum dolor sit amet, consectetur adipiscing elit. +Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. +Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. +Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. +Nullam varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris. +Integer in mauris eu nibh euismod gravida. Duis ac turpis. +Integer vitae libero ac risus egestas placerat. Praesent eu lacus quam. +Morbi ac felis. Suspendisse ac metus gravida, cursus nunc eu, dictum risus. +#+end_example + +Escreva um programa que determine quantas linhas ele tem e escreva esse resultado +no início deste mesmo arquivo segundo o formato abaixo: + +#+begin_example +Este arquivo tinha X linhas, agora tem X+2 linhas... + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. +Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. +Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. +Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. +Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. +Nullam varius, turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis sollicitudin mauris. +Integer in mauris eu nibh euismod gravida. Duis ac turpis. +Integer vitae libero ac risus egestas placerat. Praesent eu lacus quam. +Morbi ac felis. Suspendisse ac metus gravida, cursus nunc eu, dictum risus. +#+end_example + +** 2. Desafio: Trocando palavras + +Utilizando o mesmo arquivo anterior (na sua forma original), crie um programa que +substitua todas as ocorrências da palavra =gravida= por =>ACHEI<=, imprimindo no terminal +a quantidade de ocorrências e em que linhas e colunas do texto elas foram encontradas. + +** 3. Desafio: O código Da Vinci + +Utilizando, mais uma vez, o arquivo de exemplo na sua forma original, crie um +programa que reescreva seu conteúdo invertendo a ordem dos caracteres de cada linha, +como se estivéssemos vendo o texto em um espelho.