Aula 17Aulas teóricas - notas...Aula 15Aula 16

Aula 16



                               -------
                               VARIADO
                               -------



               ---------------------------------------
                 Exercícios com strings, ver aula 14
               ---------------------------------------

    1) void maius(char s[])  <-- passa as minúsculas para maiúsculas
            usar #define

    2) void cola(char s[],char t[])  
       O string s (que se supões ter espaço suficiente...) fica
       com s seguido de t (que não é modificado)

          s="aiai", t="zinho"  ==> s="aiaizinho", t="zinho"

       Método:
         - encontrar o fim de s
         - copiar t para aí
         - colocar 0 no fim.

    3) void semvogais(char s[])  <--- elimina de s as vogais...
 
          s="Batatas!! Ai!"  ==> s="Btts!! !"

       Método:
         - percorre s; para cada vogal chegar o resto de s (incluindo o
           0 final) de uma unidade para trás

           s="Batatas!!               s="Btatas!!
              ^--------                  ^
         
       A definir:
         - Um #define VOGAL(c)
        





                 -----------------------------------
                 Um exercício com parâmetros no main
                 -----------------------------------
  
    Escreva um programa que conta e imprime quantas palavras <pal>
    ocorrem na entrada padrão.
    
    Uso:

          contapals <pal>  < f

    (conta quantas palavras "if" existem no ficheiro f)







               ---------------------------------------
               Um exercício "das provas de computador"
               ---------------------------------------

Escreva uma função

   void prod_atras(int v[],int n)

que substitua cada elemento v[i] do vector v pelo produto dos
elementos que estão antes (têm menor índice) que ele. 
O promeiro elemento fica com 1 (escolha natural; porquê?)

Exemplo:

  seja v[] = 2   3   4   5   3
  fica       1   2   6  24 120 



Pensamentos: 

  ao substituir 2 por 1 perdi o 2... 
  calcular o produto de todos e ...

Notas: 
  - não pode usar outros vectores.
  - deve copiar, testar e submeter o seguinte programa preenchendo
    apenas a parte indicada. 


Programa para testar
--------------------
 
void prod_atras(int v[],int n){
  // escreva esta função...
}


//---------------------------------------
#define MAX 1000
#include <stdio.h>

int main(){
  int i,n,v[MAX];

  scanf("%d",&n);
  for(i=0;i<n;i++)
    scanf("%d",&v[i]);

  prod_atras(v,n);

  for(i=0;i<n;i++)
    printf("%d ",v[i]);

  return 0;
}



PC/PI - página reservada - versão 2005.02.08

Aula 17Aulas teóricas - notas...Aula 15Aula 16