#include <stdio.h> /*----- programa principal -----*/ int main( ) {int n; int i; printf("Inicio da Execucao do 2. Exemplo \n"); scanf("%d",&n); while (n>0) { for (i=1; i<=n; i++) { printf("%d ",n); } scanf("%d",&n); } printf("\n"); printf("Fim da Execucao do 2. Exemplo \n"); return(0); }
ficheiro: ex2.c autor: PRH versao de: 2001.02.14
#include <stdio.h> #define MAX 10 /*----- funcoes auxiliares -----*/ int par( int n ) { return( n%2 == 0 ); } int impar( int n ){ return( n%2 != 0 ); } /*----- programa principal -----*/ int main( ) { int i=0, a[MAX], max; int (*f)( int ); scanf("%d",&a[i]); max = a[i++]; while( i<MAX ) { scanf("%d",&a[i]); if ( a[i]>max ) { max=a[i]; } i++; } if ( par(max) ) { f=par; } else { f=impar; } for( i=0; i<max; i++) { if ( (*f)(a[i]) ) { printf("%d ",a[i]); } } return( 0 ); }
ficheiro: ex5.c autor: PRH versao de: 2001.03.10
#include <stdio.h> #define MAX 10 /*----- programa principal -----*/ int main( ) { int i, n, max=0, a[MAX]; while ((scanf("%d",&n)!=EOF)&&(max<MAX-1)) { i=max-1; while ( (i>=0)&&(n<a[i]) ) { a[i+1]=a[i]; i--; } a[i+1]=n; max++; } for( i=0; i<max; i++) { printf("%d ",a[i]); } printf( "\n" ); return( 0 ); }
ficheiro: ex7.c autor: PRH versao de: 2001.03.15
#include <stdio.h> #include <strings.h> #define bool int #define true 1 #define false 0 #define MAX 10 #define troca strcpy(sigla,pals[j]); strcpy(pals[j],pals[j-1]); strcpy(pals[j-1],sigla); aux=cambio[j]; cambio[j]=cambio[j-1]; cambio[j-1]=aux typedef char str[20]; /*----- programa principal -----*/ int main( ) { int i, j, ult, max=0; float aux, cambio[MAX]; str sigla, pals[MAX]; bool hatrocas; while ((max<MAX)&&(scanf("%s",&pals[max])!=EOF)) { scanf("%f",&cambio[max]); max++; } i=0; ult=max-1; hatrocas=true; while ((i<ult-1)&&hatrocas) { hatrocas = false; for (j=ult; j>i; j--) { if (strcmp(pals[j],pals[j-1])<0) { hatrocas=true; troca; } } i++; } printf("%d\n",i); for ( i=0; i<max; i++ ) { printf("%s --> %f \n",pals[i],cambio[i]); } return( 0 ); }
ficheiro: ex7c.c autor: PRH versao de: 2001.03.22
#include <stdio.h> /*----- programa principal -----*/ int main( ) {int n; int conta=0, ant=0; printf("Inicio da Execucao do 1. Exemplo \n"); scanf("%d",&n); while (n>0) { if ((n%2)==0) { conta++; } if (n!=ant) { printf("%d ",n); } ant = n; scanf("%d",&n); } printf("\nO Numero de Pares e: %d \n",conta); printf("Fim da Execucao do 1. Exemplo \n"); return(0); }
ficheiro: ex1.c autor: PRH versao de: 2001.02.13
#include <stdio.h> /*----- programa principal -----*/ int main( ) {int delta=4; char ch; ch = getchar(); while (ch != '.') { // ch += delta % 256; ch = (ch + delta) % 256; putchar(ch); ch = getchar(); } putchar((ch+delta)%256); return(0); }
ficheiro: ex3.c autor: PRH versao de: 2001.02.19
#include <stdio.h> /*----- programa principal -----*/ int main( ) {int delta=4; int ch; while ((ch = getchar()) != EOF) { ch = (ch + delta) % 256; putchar(ch); } return(0); }
ficheiro: ex31.c autor: PRH versao de: 2001.03.12
#include <stdio.h> /*----- programa principal -----*/ int main( ) {int delta=4; char ch; ch = getc(stdin); while (ch != (('.'+delta)%256)) { ch = (ch - delta); if (ch < 0) { ch = (256 + ch); } putc(ch,stdout); ch = getc(stdin); } putc('.',stdout); return(0); }
ficheiro: ex4.c autor: PRH versao de: 2001.02.19
#include <stdio.h> typedef char str[50]; /*----- programa principal -----*/ int main( ) {int erro,i; str linha; char ch; while ((erro = scanf("%[^\n]",linha)) != 1) { scanf("\n"); } scanf("\n%c",&ch); for (i=0; (i<strlen(linha)&&(linha[i]!=ch)); i++) { ;} if (linha[i]==ch) {printf("\nposicao: %d\n",i+1);} else {printf("\nnao existe!\n");} return(0); }
ficheiro: ex6.c autor: PRH versao de: 2001.03.12
#include <stdio.h> typedef char str[50]; /*----- programa principal -----*/ int main( ) {int i=0, conta[256]; str linha; char ch; for(i=0; i<256;i++){ conta[i]=0; } while (scanf("%[^\n]",linha) != 1) { scanf("\n"); } i = 0; while(i<strlen(linha)){ conta[linha[i++]]++; } for(i='a'; i<='z'; i++){ printf("%c--%d\n", i, conta[i]); } return(0); }
ficheiro: ex9.c autor: Bruno(TP1) versao de: 2001.03.21
#include<stdio.h> typedef enum dias { Dom= 1, Seg, Ter, Qua, Qui, Sex, Sab } Dias_Semana; int main() { Dias_Semana dia; printf("Insira um dia da semana (1 a 7): "); scanf("%d", &dia); switch(dia) { case Seg: printf("E Segunda-Feira.\n"); break; case Ter: printf("E Terca-Feira.\n"); break; case Qua: printf("E Quarta-Feira.\n"); break; case Qui: printf("E Quinta-Feira.\n"); break; case Sex: printf("E Sexta-Feira.\n"); break; case Sab: printf("E Sabado.\n"); break; case Dom: printf("E Domingo.\n"); break; default: printf(""); } return (0); }
ficheiro: exp1.c autor: Bruno(TP1) versao de: 2001.03.21
#include <stdio.h> #define true 1 #define false 0 int imax=20; typedef int bool; typedef char str[imax+2]; int match(str s1, str s2 ) {int i=0, j, fim, res; bool enc=false; fim = strlen(s1) - strlen(s2); while ((i <= fim) && !enc){ j=0; while((s2[j] == s1[i+j]) && (s2[j] != '\0')){ j++; } if(s2[j] == '\0') enc = true; else i++; } if (enc) res = i; else res = -1; return(res); } /*----- programa principal -----*/ int main( ) {int p; str linha, palavra; while (scanf("%[^\n]",linha) != 1) { scanf("\n"); } while (scanf("%[^\n]",palavra) != 1) { scanf("\n"); } if((p=match(linha, palavra)) != -1) printf("Ocorreu pela primeira vez na posicao %d\n", p); else printf("Nao ocorreu\n"); return(0); }
ficheiro: ex10.c autor: (TP1) versao de: 2001.03.27
#include <stdio.h> #define true 1 #define false 0 typedef int bool; typedef char str[50]; int match(str s1, str s2 ) {int i=0, j, fim, res=0; bool enc=false; fim = strlen(s1) - strlen(s2); while (i <= fim) { j=0; while((s2[j] == s1[i+j]) && (s2[j] != '\0')){ j++; } if(s2[j] == '\0') {printf("Ocorreu uma vez na posicao %d\n",i); res++; } i++; } return(res); } /*----- programa principal -----*/ int main( ) {int p; str linha, palavra; while (scanf("%[^\n]",linha) != 1) { scanf("\n"); } while (scanf("%[^\n]",palavra) != 1) { scanf("\n"); } if((p=match(linha, palavra)) >0 ) printf("Ocorreu %d vezes\n", p); else printf("Nao ocorreu\n"); return(0); }
ficheiro: ex10a.c autor: (TP1) versao de: 2001.04.03
#include <stdio.h> #define true 1 #define false 0 typedef int bool; typedef char str[50]; int match(str s1, str s2 ) {int i=0, j, fim, res=0; bool enc=false; fim = strlen(s1) - strlen(s2); while (i <= fim) { j=0; while(((s2[j] == s1[i+j] )|| (s2[j]=='?')) && (s2[j] != '\0')){ j++; } if(s2[j] == '\0') {printf("Ocorreu uma vez na posicao %d\n",i); res++; } i++; } return(res); } /*----- programa principal -----*/ int main( ) {int p; str linha, palavra; while (scanf("%[^\n]",linha) != 1) { scanf("\n"); } while (scanf("%[^\n]",palavra) != 1) { scanf("\n"); } if((p=match(linha, palavra)) >0 ) printf("Ocorreu %d vezes\n", p); else printf("Nao ocorreu\n"); return(0); }
ficheiro: ex10b.c autor: (TP1) versao de: 2001.04.03
#include <stdio.h> #define true 1 #define false 0 typedef int bool; typedef char str[50]; int match(str s1, str s2 ) {int i=0, j, fim, res=0; bool enc=false; fim = strlen(s1) ; while (i <= fim) { j=0; while(((s2[j] == s1[i+j] )|| (s2[j]=='?')) && ((s2[j] != '\0')&& (s2[j] != '*'))){ j++; } if((s2[j] == '\0')|| (s2[j] == '*')) {printf("Ocorreu uma vez na posicao %d\n",i); res++; } i++; } return(res); } /*----- programa principal -----*/ int main( ) {int p; str linha, palavra; while (scanf("%[^\n]",linha) != 1) { scanf("\n"); } while (scanf("%[^\n]",palavra) != 1) { scanf("\n"); } if((p=match(linha, palavra)) >0 ) printf("Ocorreu %d vezes\n", p); else printf("Nao ocorreu\n"); return(0); }
ficheiro: ex10c.c autor: (TP1) versao de: 2001.04.03
#include <stdio.h> #define true 1 #define false 0 typedef int bool; typedef char str[50]; int match(str s1, str s2 ) {int i=0, j, k, fim, res=0; bool enc=false; fim = strlen(s1) ; while ((i < fim) && !enc){ k=j=0; while (((s2[j] == s1[i+k]) || (s2[j]=='?') || (s2[j] == '*')) && (s2[j] != '\0') && (s1[i+k] != '\0')) { if (s2[j] == '*') { while ((s1[i+k] != s2[j+1])&&(s1[i+k] != '\0')) {k++;} } else { k++; } j++; } if (s2[j] == '\0') { enc = true; } else { i++; } } res = (enc)? i : -1; return(res); } /*----- programa principal -----*/ int main( ) {int p; str linha, palavra; while (scanf("%[^\n]",linha) != 1) { scanf("\n"); } while (scanf("%[^\n]",palavra) != 1) { scanf("\n"); } if((p=match(linha, palavra)) != -1) printf("Ocorreu pela primeira vez na posicao %d\n", p); else printf("Nao ocorreu\n"); return(0); }
ficheiro: ex10d.c autor: (PRH) versao de: 2001.04.17
#include <stdio.h> #define true 1 #define false 0 typedef int bool; typedef char str[50]; bool eseparador( char c){ bool res; switch (c){ case ' ': case '\t': case '\n': case '.': case ',': case '!': case '?': case ';':res = true;break; default :res = false; } return( res); } /*----- programa principal -----*/ int main( ) {int i,conta=0; str linha; char ch; while ((scanf("%[^\n]",linha)) != 1) { scanf("\n"); } i=0; while (eseparador(linha[i])) { i++; } while (i < strlen(linha)) { conta++; while(!eseparador(linha[i])) { i++;} while (eseparador(linha[i])&& (i<strlen(linha))) { i++;} } printf("Ocorreram %d palavras \n",conta); return(0); }
ficheiro: ex11.c autor: PRH versao de: 2001.03.12
#include <stdio.h> #define true 1 #define false 0 typedef int bool; typedef char str[50]; char *tab2[100]; int split(char *frase, char c) { int conta=0,i; str palavra; while (*frase) /*enquanto nao atingir o fim de frase*/ { i=0; while(*frase!=c) { palavra[i++]=*(frase++); } palavra[i]='\0'; // tab2[conta]=(char *)malloc(strlen(palavra)+1); // strcpy(tab2[conta++],palavra); tab2[conta++]=(char *) strdup(palavra); frase++; } return(conta); } /*----- programa principal -----*/ int main( int argc, char *argv[]) { int i,j,k; str aux; if (argc<3) { printf("Erro, numero de argumentos: %d\n",argc-1); } else { i=split(argv[1],*argv[2]); printf("Foram separadas %d palavras.\n",i); for(j=0;j<i-1;j++){ for(k=j+1;k<i;k++){ if(strcmp(tab2[j],tab2[k])>0){ strcpy(aux,tab2[j]); strcpy(tab2[j],tab2[k]); strcpy(tab2[k],aux);} } } for(j=0;j<i;j++){printf("%s\n",tab2[j]);} } return(0); }
ficheiro: ex12.c autor: (TP1) versao de: 2001.05.08
#include <stdio.h> #define true 1 #define false 0 typedef int bool; typedef char str[50]; str tab1[100]; int split(char *frase, char c) { int conta=0,i; str palavra; while (*frase) /*enquanto nao atingir o fim de frase*/ { i=0; while(*frase!=c) { palavra[i++]=*(frase++); } palavra[i]='\0'; printf("%s\n",palavra); strcpy(tab1[conta++],palavra); frase++; } return(conta); } /*----- programa principal -----*/ int main( int argc, char *argv[]) { int i,j; //for (i=1;i<argc;i++){printf("%s\n",argv[i]);} if (argc<3) { printf("Erro, numero de argumentos: %d\n",argc-1); } else { i=split(argv[1],*argv[2]); printf("Foram separadas %d palavras.\n",i); for(j=0; j<i; j++) { printf("%s \n",tab1[j]); } } return(0); }
ficheiro: ex12a.c autor: (TP1) versao de: 2001.05.08
#include <stdio.h> #define true 1 #define false 0 typedef int bool; typedef char str[250]; /*----- programa principal -----*/ int main( ) {int i; str linha, par1, par2, par3; bool fim=false; while ( !fim ) { while ((scanf("%[^\n]",linha)) != 1) { scanf("\n"); } if (sscanf(linha,"copia(%[^,],%[^)])",par1,par2)==2) printf("reconheceu COPIA\n"); else if (sscanf(linha,"apaga(%[^)])",par1)==1) printf("reconheceu APAGA\n"); else if (sscanf(linha,"junta(%[^,],%[^,],%[^)])",par1,par2,par3)==3) printf("reconheceu JUNTA\n"); else if (strcmp(linha,"fim()")==0) { printf("reconheceu FIM\n"); fim=true; } else printf("Comando Desconhecido \n"); } return(0); }
ficheiro: ex13.c autor: (TP1) versao de: 2001.05.08
#include<stdio.h> #define coef p[grau] #define MAX 20 typedef int tExp; typedef float tCoef; typedef tCoef tPoli[MAX]; tExp lerPoli1(tPoli p) { tExp exp, grau; printf("\nQual o grau do polinomio? "); scanf("%d", &exp); grau = exp; for( ;exp >= 0; exp--) { printf("\nIntroduza o coeficiente de expoente %d: ", exp); scanf("%f", &p[exp]); } return (grau); } void escrevePoli1(tPoli p, tExp grau) { for( ;grau >= 0; grau--) { if(p[grau]) printf("\n%.1fx^%d", coef,grau); } printf("\n"); } void derivaPoli1(tPoli p, tExp grau, tPoli d) { for( ;grau >0; grau--) { d[grau-1] = (coef*grau); } } int main() { tPoli polinomio, derivada; tExp grau; grau = lerPoli1(polinomio); escrevePoli1(polinomio, grau); derivaPoli1(polinomio, grau, derivada); escrevePoli1(derivada, grau-1); return (0); }
ficheiro: ex14a.c autor: (TP1) versao de: 2001.05.15
#include<stdio.h> #define MAX 20 typedef int tExp; typedef float tCoef; typedef struct m { tCoef coef; tExp exp; }tMono; typedef tMono tPoli[MAX]; int lerPoli1(tPoli p) { tExp num, max; printf("\nQuantos termos? "); scanf("%d", &num); max = num; for( ;num > 0; num--) { printf("\nIntroduza o %d coeficiente e expoente: ", num); scanf("%f,%d", &p[num-1].coef, &p[num-1].exp); } return(max); } void escrevePoli1(tPoli p, int num) { for( ; --num >= 0; ) { if(p[num].coef) { printf("%.1fx^%d\n", p[num].coef,p[num].exp); } } } int derivaPoli1(tPoli p, int comp, tPoli d) { tExp i,j; for( i=j=0 ;i < comp; i++,j++ ) { if (p[i].exp == 0) { i++; } d[j].coef = (p[i].coef*p[i].exp); d[j].exp = (p[i].exp)-1; } return(j); } int main() { tPoli polinomio, derivada; tExp comp; comp = lerPoli1(polinomio); printf("Polinomio lido:\n"); escrevePoli1(polinomio, comp); comp = derivaPoli1(polinomio, comp, derivada); printf("Polinomio derivado:\n"); escrevePoli1(derivada, comp); return (0); }
ficheiro: ex14.c autor: (TP1) versao de: 2001.05.15
#include<stdio.h> #define MAX 20 typedef int tExp; typedef float tCoef; typedef struct m { tCoef coef; tExp exp; }tMono; typedef struct lista{ tMono monomio; struct lista *seg; }tLista,*tPtr; typedef tPtr tPoli; /*---------funcoes auxiliares------------*/ tPoli criaMono(tCoef c,tExp e) { tPoli nova; nova = (tPoli) malloc(sizeof(tLista)); nova->monomio.coef = c; nova->monomio.exp = e; return(nova); } tPoli insere(tPoli cel,tPoli lst) { if (lst==NULL) lst = cel; else { if (cel->monomio.exp<lst->monomio.exp){ lst->seg=insere(cel,lst->seg); } else { if (cel->monomio.exp>lst->monomio.exp){ cel->seg=lst; lst = cel;} else { lst->monomio.coef=lst->monomio.coef+cel->monomio.coef; } } } return (lst); } /*---------funcoes principais------------*/ tPoli lerPoli1() { tPoli final=NULL; tPoli novo; tCoef coef; tExp exp; printf("\nIntroduza o coeficiente (0 para terminar)"); scanf("%f", &coef); while(coef!=0) { printf("\nIntroduza o expoente "); scanf("%d", &exp); novo=criaMono(coef,exp); final=insere(novo,final); printf("\nIntroduza o coeficiente (0 para terminar)"); scanf("%f", &coef); } return(final); } //escrita: variante recursiva void escrevePoli1(tPoli p) { if (p!=NULL){ printf("%4.1fx^%d\n", p->monomio.coef,p->monomio.exp); escrevePoli1(p->seg); } } //escrita: variante iterativa void escrevePoli2(tPoli p) { while(p!=NULL){ printf("%4.1fx^%d\n", p->monomio.coef,p->monomio.exp); p=p->seg; } } tPoli derivaPoli1(tPoli p) { tPoli d=NULL; tCoef coef; tExp exp; if (p!=NULL){ if (p->monomio.exp != 0) { coef = (p->monomio.coef*p->monomio.exp); exp = (p->monomio.exp)-1; d=criaMono(coef,exp); d->seg=derivaPoli1(p->seg);} } return(d); } /*---------funcao main------------*/ int main() { tPoli polinomio, derivada; tExp comp; polinomio = lerPoli1(); printf("Polinomio lido:\n"); escrevePoli1(polinomio); derivada = derivaPoli1(polinomio); printf("Polinomio derivado:\n"); escrevePoli1(derivada); return (0); }
ficheiro: ex14b.c autor: (TP1) versao de: 2001.05.22
#include <curses.h> int main(void) { // Declare a character variable but INT (because curses want it) int c; // The first three initialization asked from curses initscr(); cbreak(); noecho(); // Note that printf DOES NOT work printw("Press 'y' to quit...\n"); // Look while c not 'y' while((c = getch())!='y') printw("%c is not a 'y'...\n",c); // Make echo for shell, again endwin(); }
ficheiro: ncursestst.c autor: Alberto versao de: 2001.04.06
all: teste.c gcc -o teste teste.c -lcurses
ficheiro: ncurses.mak autor: Alberto versao de: 2001.04.06
#include <stdio.h> typedef char str[100]; char *palindromizador( str orig, int i, int j ) { char *p, *p1, *p2; if ( i==j ) { p = (char *)malloc(2); sprintf( p, "%c\0", orig[i] ); } else if ( j-i==1 ) { if ( orig[i]==orig[j] ) { p = (char *)malloc(3); sprintf( p, "%c \0", orig[i] ); } else { p = (char *)malloc(3); sprintf( p, "%c%c\0", orig[i],orig[j] ); } } else { if ( orig[i]==orig[j] ) { p1 = palindromizador( orig,i+1,j-1 ); p = (char *)malloc(strlen(p1)+1); sprintf( p, "%c%s", orig[i],p1 ); } else { p1 = palindromizador( orig,i+1,j ); p2 = palindromizador( orig,i,j-1 ); if ( strlen(p1)<=strlen(p2) ) { p = (char *)malloc(strlen(p1)+1); sprintf( p, "%c%s", orig[i],p1 ); } else { p = (char *)malloc(strlen(p2)+1); sprintf( p, "%c%s", orig[j],p2 ); } } } return( p ); } /*----- programa principal -----*/ int main( ) { int i,conta=0; str pal; char *palindroma; while ((scanf("%s",pal)) != 1) { ; } palindroma=palindromizador( pal, 0, strlen(pal)-1 ); printf("Um possivel palindroma sera: "); for (i=0; (palindroma[i]!='\0'); i++) { if (palindroma[i]!=' ') { putchar(palindroma[i]); } } for (i=i-2; (i>=0); i--) { putchar(palindroma[i]); } printf("\n"); return(0); }
ficheiro: cnpl01b.c autor: PRH versao de: 2001.04.29
#include <stdio.h> typedef char str[100]; char *palindromizador( str p1 ){ char *p2; int i, j, k; p2=(char *)malloc(2*strlen(p1)); k=i=0; j=strlen(p1)-1; while ( i < j ) { if ( p1[i]==p1[j] ) { p2[k++]=p1[i++]; j--; } else { if ( ((i+1)<j)&&(p1[i+1]==p1[j]) ) { p2[k++]=p1[i++]; } else { p2[k++]=p1[j--]; } } } if (i==j) { p2[k++]=p1[i++]; for (j=k-1; j; j--) { p2[k++]=p2[j-1]; } } else //(i>j) { for (j=k; j; j--) { p2[k++]=p2[j-1]; } } p2[k]='\0'; return( p2 ); } /*----- programa principal -----*/ int main( ) { int i,conta=0; str pal; char *palindroma; while ((scanf("%s",pal)) != 1) { ; } palindroma=palindromizador( pal ); printf("Um possivel palindroma sera: %s \n",palindroma); return(0); }
ficheiro: cnpl01.c autor: PRH versao de: 2001.04.14
#include <stdio.h> #define true 1 #define false 0 typedef int bool; #define MAXL 9 #define MAXC 5 #define Moedas 7 #define InicL 5 #define InicC 4 /* #define InicC 3 */ typedef int tTabuleiro[MAXL][MAXC]; typedef int tProxMove[4]; tProxMove IncrL={-1,0,+1,0}; tProxMove IncrC={0,-1,0,+1}; tTabuleiro Tab={{0,0,0,0,-1}, {-1,0,0,0,0}, {0,0,0,-1,0}, {0,-1,0,0,0}, {0,0,0,0,0}, {0,-1,0,0,0}, {0,0,0,0,0}, {0,0,-1,0,0}, {0,0,0,0,-1} }; bool valido( int i, int j ){ return( (i>=0)&&(i<MAXL)&&(j>=0)&&(j<MAXC)&&(Tab[i][j]<=0) ); } bool comeMoedas( int i, int j, int m, int vez ){ int ant, tenta; int i1, j1; bool suc; if ( Tab[i][j]==-1 ) { m--; } ant=Tab[i][j]; Tab[i][j]=vez++; if ( m==0 ) { suc=true; } else { suc=false; tenta=0; while (( tenta < 4 )&&( !suc )) { i1=i+IncrL[tenta]; j1=j+IncrC[tenta]; if ( valido(i1,j1) ) { suc=comeMoedas(i1,j1,m,vez); } tenta++; } if (!suc) Tab[i][j]=ant; } return( suc ); } /*----- programa principal -----*/ int main( ) { int i,j,conta=0; if (comeMoedas( InicL, InicC, Moedas, 1 ) ) { printf("Terminou com Sucesso \n"); for(i=0; i<MAXL; i++) { for(j=0; j<MAXC; j++) { printf("%2d ",Tab[i][j]); } printf("\n"); } } else { printf("Nao Conseguiu Terminar com Sucesso \n"); } return(0); }
ficheiro: cnpl03.c autor: PRH versao de: 2001.05.06
ex1: ex1.o gcc -o ex1 ex1.o ex1.o: ex1.c gcc -c ex1.c relex1: relex1.tex ex1.c latex relex1 latex relex1 dvips -o relex1.ps relex1 ghostview relex1.ps clear: rm -f ex1.o relex1.aux relex1.log relex1.dvi relex1.toc
ex3: ex3.o gcc -o ex3 ex3.o ex3.o: ex3.c gcc -c ex3.c ex4: ex4.o gcc -o ex4 ex4.o ex4.o: ex4.c gcc -c ex4.c testeA: ex3 ex4 ex3 >a ex4 <a testeB: ex3 ex4 ex3 | ex4 clean: rm -f ex3.o ex4.o
author: prh@di.uminho.pt;
Last modified: 03 de Abril de 2001