Parte 1: Fazer uma função que recebe um vetor de elementos inteiros de dimensão N , um elemento inteiro X e retorne um valor que corresponde ao número de vezes que o elemento
aparece no vetor.
Parte 2: Escrever um programa que leia uma matriz A de elementos inteiros de dimensão
e, utilizando a função acima, gere um vetor
cujos elementos representam quantas vezes o
valor zero (0) aparece em cada linha da matriz A. Escreva a matriz A e o vetor V.
valor zero (0) aparece em cada linha da matriz A. Escreva a matriz A e o vetor V.
Passo 1
O enunciado pede para criarmos uma função que recebe um vetor de inteiros de tamanho N e um inteiro X e retorna o número de vezes que X aparece no vetor. Depois escrever um programa que leia uma matriz A de dimensão M×N (com M,N≤50) e, usando essa função, gere um vetor V em que cada elemento V[i] indica quantas vezes o valor zero aparece na linha i de A. Ao final, imprimir A e V.
Passo 2
Para implementar a função de contagem (que vamos chamar de countOccurrences), basta percorrer cada elemento do vetor, comparar com X e somar 1 em um contador sempre que for igual. No fim, retornamos esse contador.
No programa principal, primeiro lemos os valores de M e N do usuário, garantindo que sejam no máximo 50. Em seguida, declaramos a matriz A[M][N] e lemos seus valores em dois loops aninhados: um para as linhas e outro para as colunas.
No programa principal, primeiro lemos os valores de M e N do usuário, garantindo que sejam no máximo 50. Em seguida, declaramos a matriz A[M][N] e lemos seus valores em dois loops aninhados: um para as linhas e outro para as colunas.
Passo 3
Depois, declaramos o vetor V de tamanho M. Para cada linha i de A, chamamos countOccurrences(A[i], N, 0) e atribuímos o resultado a V[i], assim contamos quantos zeros existem em cada linha.
Passo 4
Por fim, imprimimos a matriz A em formato de linhas e colunas e depois imprimimos o vetor V, mostrando quantos zeros apareceram em cada linha.
Resposta
#include <stdio.h>
int countOccurrences(int arr[], int N, int X) {
int count = 0;
for (int i = 0; i < N; i++) {
if (arr[i] == X) {
count++;
}
}
return count;
}
int count = 0;
for (int i = 0; i < N; i++) {
if (arr[i] == X) {
count++;
}
}
return count;
}
int main() {
int M, N;
// Leitura das dimensões da matriz
scanf("%d %d", &M, &N);
int M, N;
// Leitura das dimensões da matriz
scanf("%d %d", &M, &N);
int A[50][50];
// Leitura da matriz A
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
scanf("%d", &A[i][j]);
}
}
int V[50];
// Cálculo da quantidade de zeros em cada linha usando a função
for (int i = 0; i < M; i++) {
V[i] = countOccurrences(A[i], N, 0);
}
// Impressão da matriz A
printf("Matriz A:\n");
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
printf("%d ", A[i][j]);
}
printf("\n");
}
// Impressão do vetor V
printf("Vetor V (quantidade de zeros por linha):\n");
for (int i = 0; i < M; i++) {
printf("%d ", V[i]);
}
printf("\n");
return 0;
}