]> web.ist.utl.pt Git - iaed.git/commitdiff
Adding ex3 in aula03.
authorAlexandre P Francisco <aplf@ist.utl.pt>
Wed, 12 Mar 2014 15:01:44 +0000 (15:01 +0000)
committerAlexandre P Francisco <aplf@ist.utl.pt>
Wed, 12 Mar 2014 15:01:44 +0000 (15:01 +0000)
aula03/Makefile
aula03/ex3.c [new file with mode: 0644]

index 69f7462c91885c1557ea8bf7260989791bf91b5e..92b3f5c7ad56ae4b318bf80792c7d98c929a8b4b 100644 (file)
@@ -1,9 +1,10 @@
 CC=gcc
 CFLAGS=-Wall -ansi -pedantic
 
-EXECS=ex1 ex2
+EXECS=ex1 ex2 ex3
 EX1OBJ=ex1.o aux.o
 EX2OBJ=ex2.o aux.o
+EX3OBJ=ex3.o aux.o
 
 
 all: ${EXECS}
@@ -14,5 +15,8 @@ ex1: ${EX1OBJ} aux.h
 ex2: ${EX2OBJ} aux.h
        gcc ${CFLAGS} -o $@ ${EX2OBJ}
 
+ex3: ${EX3OBJ} aux.h
+       gcc ${CFLAGS} -o $@ ${EX3OBJ}
+
 clean:
        rm -f *.o ${EXECS}
diff --git a/aula03/ex3.c b/aula03/ex3.c
new file mode 100644 (file)
index 0000000..7c39429
--- /dev/null
@@ -0,0 +1,36 @@
+#include <stdio.h>
+#include <limits.h>
+#include "aux.h"
+
+#define NUMELEMS 100
+
+int posicaoMaximoVector(int v[], int tamanho);
+int posicaoMinimoVector(int v[], int tamanho);
+
+int main() {
+  int v[NUMELEMS], tam;
+
+  scanf("%d", &tam);
+  leVector(v, tam);
+  printf("max: %d, min: %d\n",
+      posicaoMaximoVector(v, tam),
+      posicaoMinimoVector(v, tam));
+
+  return 0;
+}
+
+int posicaoMaximoVector(int v[], int tamanho) {
+  int m = -INT_MAX;
+  while (tamanho--)
+    if (m < v[tamanho]) m = v[tamanho];
+  return m;
+}
+
+int posicaoMinimoVector(int v[], int tamanho) {
+  int m = INT_MAX;
+  while (tamanho--)
+    if (m > v[tamanho]) m = v[tamanho];
+  return m;
+}
+
+