Está en la página 1de 25

Componente: Programao I

Curso da rea Bsica de Ingresso em


Computao - ABI
Campus Taguatinga

Atividade 3

Taguatinga
2015

Alan Cardoso Ferreira

Atividade 1
Trabalho apresentado disciplina Programao I,
ministrado pela professor Fontes, como exigncia parcial
para obteno de nota para o 2 semestre do curso.

Taguatinga
2015

Atividade 3
1.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define siz 30
#define arraySize 5

void printArray(int a[], int size, char* message){


printf("\n\t\t%s\n", message);
int i = 0;
for(i; i < size; ++i){
if(a[i] != 0){
printf("%d\n", a[i]);
}
}
}

int main()
{

int evens[arraySize], odds[arraySize], nums[siz], i = 0, cEvens = 0, cOdds = 0;


for(i; i < arraySize; ++i){
evens[i] = 0;
odds[i] = 0;
}

printf("\n\t\tVoce precisa digitar %d numeros\n", siz);

for(i = 0; i < siz; ++i){


printf("Digite o numero %d:\n", i+1);
scanf("%d", &nums[i]);
if(abs(nums[i])%2 == 0){
evens[cEvens] = nums[i];
++cEvens;
if(cEvens == arraySize){
printArray(evens, arraySize, "Pares");
int j = 0;
for(j = 0; j < arraySize; ++j){
evens[j] = 0;
}
cEvens = 0;
}
}
else if(nums[i] != 0){
odds[cOdds] = nums[i];
++cOdds;
if(cOdds == arraySize){
printArray(odds, arraySize, "Impares");
int j = 0;
for(j = 0; j < arraySize; ++j){
odds[j] = 0;
}
cOdds = 0;
}
}
}

if(evens[0] != 0)
printArray(evens,arraySize, "Pares");
if(odds[0] != 0)

printArray(odds, arraySize, "Impares");

return 0;
}

2.

#include <stdio.h>
#include <stdlib.h>

#define siz 10
int main(){
int i = 0;
double a[siz], b[siz], p[siz];
printf("\n\tPrimeiro Vetor:\n");
for(i; i < siz; ++i){
printf("Digite um numero: \n");
scanf("%lf", &a[i]);
}
printf("\n\tSegundo Vetor:\n");
for(i = 0; i < siz; ++i){
printf("Digite um numero: \n");
scanf("%lf", &b[i]);
}
for(i = 0; i < siz; ++i){
p[i] = a[i]*b[i];
printf("\nO produto entre %lf e %lf e igual a %lf\n", a[i], b[i], p[i]);
}

return 0;
}

3.
#include <stdio.h>
#include <stdlib.h>

#define siz 100

int main(){
int a[siz], i = 0, j = 0, temp = 0;
for(i; i < siz; ++i){
printf("Digite um numero\n");
scanf("%d", &a[i]);
}
for(i = 1; i < siz; ++i){
for(j = 0; j < siz-1; ++j){
if(a[j] > a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}

printf("\n\n\t\tVetor Ordenado: \n\n");


for(i = 0; i < siz; ++i){
if(i != siz-1)

printf("%d, ", a[i]);


else
printf("%d.\n", a[i]);
if(i %20 == 0 && i != 0)
printf("\n");
}
return 0;
}
4.
#include <stdio.h>
#include <stdlib.h>

void clean_stdin(void)
{
int c;
do {
c = getchar();
} while (c != '\n' && c != EOF);
}

#define siz 20
#define sizStu 50

int main(){
int i = 0, grades[sizStu], j = 0;
char G[siz], students[siz];

for(i = 0; i < sizStu; ++i){

grades[i] = 0;
}

printf("Digite o gabarito por questao: \n");

for(i = 0; i < siz; i++){


printf("Questao %d: \n", i+1);
scanf("%c", &G[i]);
clean_stdin();
}

printf("\nTerminou de ler\n");

for(i = 0; i <sizStu; ++i){


printf("Aluno %d: \n", i+1);
for(j = 0; j<siz; ++j){
printf("Questao %d: \n", j+1);
scanf("%c", &students[j]);
clean_stdin();
if(students[j] == G[j]){
++grades[i];
}
}
}

printf("Notas\n");

for(i = 0; i < sizStu; ++i){


printf("Aluno %d esta ", i+1);
if(grades[i]/2 >= 6)

printf("aprovado\n");
else
printf("reprovado\n");
}

return 0;
}

5.
#include <stdio.h>
#include <stdlib.h>

#define siz 50

void readArray(double numbers[]);


void printArray(double numbers[]);
void printInverse(double numbers[]);

int main(){
int code = 0, i = 0;
double numbers[siz];
printf("\n0 - para sair\n1 - para imprimir da forma lida\n2 - para imprimir na ordem
inversa\nDigite o codigo: \n");
scanf("%d", &code);
switch(code){
case 0:
return 0;
break;
case 1:
readArray(numbers);
printArray(numbers);

break;
case 2:
readArray(numbers);
printInverse(numbers);
break;
default:
printf("Error: Unexpected option\n");
break;
}
return 0;
}

void readArray(double numbers[]){


int i = 0;
for(i = 0; i < siz; ++i){
scanf("%lf", &numbers[i]);
}
}

void printArray(double numbers[]){


int i = 0;
for(i; i < siz; ++i){
printf("%lf", numbers[i]);
if(i != siz -1)
printf(", ");
else
printf(".\n");
}
}

void printInverse(double numbers[]){


int i = siz -1;
for(i; i >= 0; --i){
printf("%lf", numbers[i]);
if(i != 0)
printf(", ");
else
printf(".\n");
}
}

6.
#include <stdio.h>
#include <stdlib.h>

#define siz 500

void printArray(double numbers[]);

int main(){

int i = 0;
double vec[siz], maior = 0.0;

for(i = 0; i < siz; ++i){


printf("Digite o Numero %d: \n", i+1);
scanf("%lf", &vec[i]);
}

maior = vec[0];

for(i = 1; i < siz; ++i){


if(vec[i]> maior){
maior = vec[i];
}
}

for(i = 0; i < siz; ++i){


vec[i] /= maior;
}
printf("\n");
printArray(vec);
return 0;
}

void printArray(double numbers[]){


int i = 0;
for(i; i < siz; ++i){
printf("%lf", numbers[i]);
if(i != siz -1)
printf(", ");
else
printf(".\n");
if(i != 0 && i%10 == 0){
printf("\n");
}
}
}

7.

#include <stdio.h>
#include <stdlib.h>

#define siz 500

int main(){
int library[siz], promotion[siz], i = 0;
for(i = 0; i < siz; ++i)
promotion[i] = 0;

for(i = 0; i < siz; ++i){


printf("Cliente %d: ", i+1);
scanf("%d", &library[i]);
promotion[i] = library[i]/10;
}

for(i = 0; i < siz; ++i){


if(promotion[i] != 0){
printf("Cliente %d possui %d locacoes gratis.\n", i+1, promotion[i]);
}
}

return 0;
}
8.
#include <stdio.h>
#include <stdlib.h>

#define line 15
#define column 5

int main(){

int a[line][column], i = 0, j = 0, count = 0, temp, i1, j2;

for(i = 0; i < line; ++i){


for(j = 0; j < column; ++j){
printf("Enter a number in the position, Line %d, Column %d: \n", i+1,
j+1);
scanf("%d", &a[i][j]);
}
}

for(i = 0; i < line; ++i){


for(j = 0; j< column; ++j){
for (i1 = 0; i1 < line; ++i1){
for(j2 = 0; j2 < column; ++j2){
if(a[i][j]<a[i1][j2]){
temp = a[i][j];
a[i][j] = a[i1][j2];
a[i1][j2] = temp;
}
}
}
}
}
printf("\n\t\tMatriz Gerada:\n");
for(i = 0; i < line;++i){

printf("|");
for(j = 0; j < column; ++j){
printf("%4d ", a[i][j]);
}
printf("|\n");
}

printf("\n\n\t\tResultado:\n");
temp = a[0][0];
for(i = 0; i < line; ++i){
for(j = 0; j < column; ++j){
if(temp == a[i][j]){
++count;
}
else{
if(count >= 2){
printf("O elemento %3.2d apareceu %3d vezes na
matriz\n",temp,count);
temp = a[i][j];
count = 1;
}
else{
temp = a[i][j];
count = 1;
}
}
}
}
if(count>=2)
printf("O elemento %3.2d apareceu %3d vezes na matriz\n",temp,count);
return 0;

9.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define line 12
#define column 13

void printMatrix(double a[line][column],char* message);


int main(){
int i,j;
double a[line][column], modified[line][column], maior[line];

for(i = 0; i < line; ++i){


for(j = 0; j < column; ++j){
printf("Entre um numero na Linha %d Coluna %d:\n", i+1, j+1);
scanf("%lf", &a[i][j]);
}
}
for(i = 0; i < line; ++i){
maior[i] = a[0][i];
}

for(i = 0; i < line; ++i){


for(j = 0; j < column; ++j){
if(abs(maior[i]) < abs(a[i][j]))
maior[i] = a[i][j];
}

for(i = 0; i < line; ++i){


for(j = 0; j < column; ++j){
modified[i][j] = a[i][j]/maior[i];
}
}

printMatrix(a,"Matriz Lida");
printMatrix(modified,"Matriz Modificada");

return 0;
}

void printMatrix(double a[line][column],char* message){


printf("\n\t\t%s\n", message);
int i, j;
for(i = 0; i < line; ++i){
printf("{");
for(j = 0; j < column; ++j){
printf("%lf ", a[i][j]);
}
printf("}\n");
}
}
10.
#include <stdio.h>
#include <stdlib.h>

#define siz 10

void printMatrix(int a[siz][siz],char* message);

int main(){
int a[siz][siz], i = 0, j = 0, temp = 0, l1 = 1, l2 = 7, c1 = 3, c2 = 9;
for(i = 0; i < siz; ++i){
for (j = 0; j < siz; ++j){
printf("Digite um numero na Linha %d Coluna %d\n", i+1, j+1);
scanf("%d", &a[i][j]);
}
}
printMatrix(a,"Matriz lida");
for (i = 0; i < siz; ++i)
{
temp = a[l1][i];
a[l1][i] = a[l2][i];
a[l2][i] = temp;
}
for(i = 0; i < siz; ++i){
temp = a[i][c1];
a[i][c1] = a[i][c2];
a[i][c2] = temp;
}
printMatrix(a,"Matriz Modificada");
//Parte B ou QUESTAO 38
for(i = 0; i < siz; ++i){
for (j = 0; j < siz; ++j){
printf("Digite um numero na Linha %d Coluna %d\n", i+1, j+1);

scanf("%d", &a[i][j]);
}
}
int k = siz-1;
int l = 0;
for(i = 0; i < siz; ++i){
temp = a[i][i];
a[i][i] = a[l][k];
a[l][k] = temp;
++l;
--k;
}
for(i = 0; i < siz; ++i){
temp = a[4][i];
a[4][i] = a[i][siz-1];
a[i][siz-1] = temp;
}

printMatrix(a,"Matriz modificada pela parte B da questao");

return 0;
}

void printMatrix(int a[siz][siz],char* message){


printf("\n\t\t%s\n", message);
int i, j;
for(i = 0; i < siz; ++i){
printf("{");
for(j = 0; j < siz; ++j){

printf("%4d ", a[i][j]);


}
printf("}\n");
}
}

11.

#include <stdio.h>
#include <stdlib.h>

#define siz 10
int main(){
int i,j, m[siz][siz],i1,j1, temp;
for(i = 0; i < siz; ++i){
for(j = 0; j < siz; ++j){
printf("Entre um numero na posicao [%d][%d]\n", i+1, j+1);
scanf("%d", &m[i][j]);
}
}
for(i = 0; i < siz; ++i)
{
for(j = 0; j <siz; ++j)
{
for (i1 = 0; i1 < siz; ++i1)
{
for (j1 = 0; j1 < siz; ++j1)
{
if(m[i][j]<

m[i1][j1]){

temp = m[i][j];

m[i][j] = m[i1][j1];
m[i1][j1] = temp;
}
}
}
}
}
printf("\n\t\tMatriz Ordenada\n");
for(i = 0; i < siz; ++i)
{
printf("|");
for (j = 0; j < siz; ++j)
{
printf("%4d ", m[i][j]);
}
printf("|\n");
}
return 0;
}

12.
#include <stdio.h>
#include <stdlib.h>

#define siz 3

int main(){
double a[siz][siz], average = 0.0, averageS = 0.0;
int i = 0, j = 0;

for(i = 0; i < siz; ++i){


for(j = 0; j < siz; ++j){
printf("Digite o numero da linha %d e coluna"
"%d: \n", i+1, j+1);
scanf("%lf", &a[i][j]);
if(i == j)
average+=a[i][j];
if(i+j == siz -1)
averageS += a[i][j];
}
}
printf("Media dos elementos da diagonal principal %lf\n", average/siz);
printf("Media dos elementos da diagonal secundaria %lf\n", averageS/siz);
return 0;
}
13.
#include <stdio.h>
#include <stdlib.h>

#define line 20
#define column 15

int main(){
int i = 0, a[line][column], j = 0, sum = 0;
for(i = 0; i < line; ++i){
for(j = 0; j < column; ++j){
scanf("%d", &a[i]]j);
if(i%2 != 0){

sum +=a[i][j];
}
}
}
printf("A soma e: %d\n", sum);
return 0;
}

15.
#include <stdio.h>
#include <stdlib.h>

#define siz 20
int main(){
int i = 0, j = 0, m[siz][siz], k = 0, sumLine[siz];
for(i = 0; i < siz; ++i)
sumLine[i] = 0;

for(i = 0; i < siz; ++i){


for(j = 0; j < siz; ++j){
printf("Entre o numero na posicao [%d][%d]:\n", i+1, j+1);
scanf("%d", &m[i][j]);
sumLine[i]+=m[i][j];
}
}
for(i = 0; i < siz; ++i){
for(j = 0; j < siz; ++j){
m[i][j] *= sumLine[i];
}

for(i = 0; i < siz; ++i){


printf("{");
for(j = 0; j < siz; ++j){
printf("%d ",m[i][j]);
}
printf("}\n");
}

return 0;
}
16.

#include <stdio.h>
#include <stdlib.h>

#define siz 50
int main(){
int i = 0, j = 0, maior, m[siz][siz];
for(i =0; i < siz; ++i){
for(j = 0; j < siz; ++j){
printf("Digite o numero na posicao [%d][%d]\n", i+1, j+1);
scanf("%d", &m[i][j]);
}
}
maior = m[0][0];
for(i = 0; i < siz; ++i){
for(j = 0;j <siz; ++j){
if(maior < m[i][j])

maior = m[i][j];
}
}

for(i = 0; i < siz; ++i){


m[i][i] *=maior;
}
for(i = 0; i < siz; ++i){
printf("{");
for(j = 0; j < siz; ++j){
printf("%d ", m[i][j]);
}
printf("}\n");
}

return 0;
}

También podría gustarte