Baixe o app para aproveitar ainda mais
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; }
Compartilhar