Faça um algoritmo para calcular a potenciação de 5 números inteiros. Utilize uma matriz 5 X 3 para armazenar os valores, onde a primeira coluna receberá os números, a segunda coluna os expoentes e na terceira coluna os resultados da potenciação.
Aloque uma matriz "M" 5x3.
Pra cada linha "L" leia duas coisas:
O número "n" que será potenciado.
A potencia "p".
Calcule com uma função de potenciação o valor de n elevado a p e guarde em uma variável.
Atribua os valores concebidos em sua coluna "C" correspondente ( M[L][C] ).
Parceiro fiz basicamento o que o Erme sugeriu, declarei uma matriz de inteiros 5x3
E criei tres funções auxiliares para melhor dividir o problema, primeiro cirei uma função que preenche valores tanto de Numeros como Expoentes utilizando a função rand da lib time.
Depois com a função pow da lib Math que recebe um numero e o expoente pow(double,duble) e retorna o resultado. percorri a matriz com um for de 0 a 4 e fui atribuindo o resultado a coluna 2 de pow(mat[0],mat[1) em mat[2]...
Você pode alterar a função de preencher a matriz para utilizar um scanf() e preencher os campos da matriz, mas o enunciado do exercicio não especifica qual seria a origem dos dados.
Espero ter ajudado.
/*
* File: main.cpp
* Author: joao
*
* Faça um algoritmo para calcular a potenciação de 5 números inteiros.
* Utilize uma matriz 5 X 3 para armazenar os valores,
* onde a primeira coluna receberá os números,
* a segunda coluna os expoentes e na terceira coluna
* os resultados da potenciação.
*/
#include <stdlib.h>
#include <stdio.h>
#include<math.h>
using namespace std;
void preencherMatriz(int mat[5][3], int m, int n) {
int randon;
for (int i = 0; i < m; i++) {
for (int k = 0; k < n - 1; k++) {
switch (k) {
case 0:
randon = (rand() % ((40 - 1) + 1)) + 1;
break;
case 1:
randon = (rand() % ((5 - 1) + 1)) + 1;
break;
}
mat[i][k] = randon;
mat[i][3] = 0;
}
}
}
void exibeMatriz(int mat[5][3], int m, int n) {
printf("\nNumero - Expoente - Resultado\n");
for (int i = 0; i < m; i++) {
printf("\n");
for (int j = 0; j < n; j++) {
printf("[%d] ", mat[i][j]);
}
}
}
void exponenciacao(int vet[5][3], int m, int n) {
for (int i = 0; i < m; i++) {
vet[i][2] = (int) pow(vet[i][0], vet[i][1]);
}
}
int main(int argc, char** argv) {
int cont = 0;
int matriz[5][3];
preencherMatriz(matriz, 5, 3);
exibeMatriz(matriz, 5, 3);
exponenciacao(matriz, 5, 3);
exibeMatriz(matriz, 5, 3);
}
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar