/* Escreva uma função que receba uma matriz bidimensional, o tamanho dela, e calcule a
soma de todos seus elementos. */
#include <stdio.h>
#include <stdlib.h>
#define MAX 1000
int main()
{
int b, m2, l, c;
printf("Entre com o tamanho das matrizes (linha e coluna): ");
scanf("%d %d", &l, &c);
b = matriz(m2, l, c);
return 0;
}
/* Escreva uma função que receba uma matriz, o tamanho dela,uma posição (x,y) dela, e
calcule a soma de todos os seus vizinhos;*/
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
Qeustao 2 professor
for(i = 0; i < LIM; i++)
for(j = 0; j< LIM; j++)
M[i][j] = rand()%10;
}
void imprime(int M[LIM][LIM])
{
int i, j;
for(i = 0; i < LIM; i++)
for(j = 0; j < LIM; j++)
printf("%d%c", M[i][j], j == DIM-1?'\n':' ');
}
int somavizinhos(int M[LIM][LIM], int x, int y)
{
int i, j, soma = 0;
for(i = x - 1; i <= x + 1; i++)
for(j = y -1; j <= y + 1; j++)
if(i >= 0 && i < LIM && j >= 0 && j < LIM);
soma += M[i][j];
return soma;
}
int main()
{
int M[LIM][LIM];
inicializa(M);
imprime(M);
int s = somavizinhos(M, 5, 5);
printf("soma = %d\n", s);
return 0;
}
/* Escreva uma função que receba duas matrizes de mesmo tamanho, A e B. Em seguida, ela
deve fazer B = A', ou seja, B recebe a transposta da matriz A; */
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int main()
{
int m1, a, b;
printf("Entre com o tamanho da matriz (linha): \n");
scanf("%d", &a);
printf("Entre com o tamanho da matriz (coluna): \n");
scanf("%d", &b);
matriztrans(m1, a, b);
return 0;
}
/* Crie uma struct em C que armazene o nome, a altura e a data de nascimento de uma
pessoa. Em seguida, crie um programa que leia os dados de 4 pessoas e imprima os nomes
das pessoas com atura maior que 1,60m e com menos de 18 anos. */
#include <stdio.h>
#include <stdlib.h>
#define LIM 200
int main()
{
pessoa_t pessoas[4];
int i;
for(i = 0; i < 4; i++)
{
printf("Entre com o nome: ");
fgets(pessoas[i].nome, 199, stdin);
printf("Entre com a altura: ");
scanf("%f", &pessoas[i].altura);
printf("Entre com a data de nascimento: ");
scanf("%d/%d/%d", &pessoas[i].datanascimento.dia, &pessoas[i].datanascimento.mes,
&pessoas[i].datanascimento.ano);
getchar();
}
for(i = 0; i < 4; i++)
{
int dia_convertido = 14 + 7*30 + (2014-18);
int dia_convertido2 = pessoas[i].datanascimento.dia + pessoas[i].datanascimento.mes *
30 + pessoas[i].datanascimento.ano * 365;
if(pessoas[i].altura > 1.60 && dia_convertido2 > dia_convertido)
printf("%s\n", pessoas[i].nome);
}
return 0;
}
/* Crie uma struct para armazenar os dados de um vetor em R3. Crie uma função que leia
dois vetores e calcule o produto escalar deles. */
#include <stdio.h>
#include <stdlib.h>
#define LIM 200
int main()
{
struct vetor a, b;
float escalar = a.x*b.x + a.y*b.y + a.z * b.z;
printf("%f", escalar);
return;
}
/* Crie um TAD (tipo abstrato de dados) que modele o conceito de números complexos. –
Implemente as operações de soma, multiplicação e impressão na tela; */
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
float real, imag;
} numero_complexo;
numero_complexo le_complexo()
{
numero_complexo a;
printf("Entre com a parte real: ");
scanf("%f", &a.real);
printf("Entre com a parte imaginaria: ");
scanf("%f", &a.imag);
return a;
}
numero_complexo imprime(numero_complexo a)
{
printf("%f + %fi", a.real, a.imag);
}
int main()
{
numero_complexo a, b, c, d;
a = le_complexo();
b = le_complexo();
c = soma(a,b);
d = mult(a, b);
imprime(c);
return 0;
}
/* Crie uma função que receba duas strings e determine se uma é anagrama de outra. –
Exemplo: amor, roma*/
#include <stdio.h>
#include <stdlib.h>
#define LIM 100
void escreva(int a)
{
int i;
for(i = 15; i < 18; i++)
{
if((a & (1 << i)) == 0)
printf("0");
else
printf("1");
}
printf("\n");
}
int main()
{
int a;
scanf("%d", &a);
escreva(a);
return 0;
}
void escreva(int a)
{
int i;
for(i = 31; i >= 0; i--)
{
if((a & (1 << i)) == 0)
printf("0");
else
printf("1");
}
printf("\n");
}
int main()
{
int a;
scanf("%d", &a);
escreva(a);
return 0;
}