Buscar

Qual a resposta ??

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.

💡 5 Respostas

User badge image

Santoss s

nao sei

1
Dislike0
User badge image

Estudante PD

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] ).

 

 


1
Dislike0
User badge image

Joao Andre MArtins Dias

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);


}

1
Dislike0

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

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais