Buscar

EXERCÍCIO 19 - ALGORITMOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ALGORITMOS
EXERC ÍC IO
Um sistema de linha de produção utiliza uma matriz para gerenciar os códigos de produtos.
Periodicamente todos os produtos devem se deslocar em um determinado sentido único, sem
alterar a posição relativa entre eles. Crie um programa que:
a) Crie uma função que receba duas matrizes quadradas, A e B (máximo 100x100), um inteiro
k (máximo 100) representando o número de produtos (número de linhas/colunas) e um valor
inteiro n, indicando o tamanho do deslocamento. Esta função deve copiar os elementos da
matriz A para a matriz B deslocados n linhas para a baixo, realizando a volta se preciso (ex. se
k = 10 e n = 11, a linha de indice 11 equivale à linha 1).
b) Crie um programa principal que declare as variáveis necessárias, leia a dimensão das
matrizes, a matriz A e n com valores do teclado. Além disso, imprima na tela a matriz B após
a execução da função de (a).
For example:
ALGORITMOS
RESOLUÇÃO
#include <stdio.h>
#include <math.h>
void matrizes (int matrizA [][100], int matrizB[][100], int
k, int n){ 
 int i,j;
 if (n>= 10){
 n= n - k;
 }
 else {
 n=n;
 } 
 for (i=0;i<k;i++){
 for (j=0;j<k;j++){ 
 if (i<n){
 matrizB[i][j]= matrizA[k-n+i][j];
 printf ("%d ",matrizB[i][j]);
 } else{
 matrizB[i][j]= matrizA[i-n][j];
 printf ("%d ",matrizB[i][j]);
 } 
 }
 printf ("\n");
 } 
}
int main(){
 int matrizA[100][100];
 int matrizB[100][100];
 int k;
 int n;
 int i,j; 
 scanf ("%d", &k); 
 for (i=0; i<k; i++){
 for (j=0; j<k; j++){ 
 scanf ("%d", &matrizA[i][j]);
 }
 } 
 scanf ("%d", &n); 
 matrizes (matrizA, matrizB, k, n);
 return 0;
}

Outros materiais