Подсчитать количество элементов матрицы равных заданному числу и вывести их индексы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дано массив A[m,n] действительных чисел и число a. Вывести этот массив на экран, подсчитать количество элементов, равных а, и вывести их индексы.

Решение задачи: «Подсчитать количество элементов матрицы равных заданному числу и вывести их индексы»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define M 10
#define N 15
 
int main(void)
{
    float A[M][N], a;
    int i, j, counter = 0;
    
    srand(time(NULL));
    for (i=0; i < M; i++)
    {
        for (j=0; j < N; j++)
        {
            A[i][j] = (rand() % 100) / 10.0;
            printf("%3.1f ", A[i][j]);
        }
        printf("\n");
    }
    printf("Enter a: ");
    scanf("%f", &a);
    
    for (i=0; i < M; i++)
        for (j=0; j < N; j++)
            if (A[i][j] == a)
            {
                printf("\nA(%d, %d) = %3.1f", i, j, a);
                counter++;
            }
    printf("\nCounter: %d\n", counter);    
    return 0;
}

Объяснение кода листинга программы

В этом коде используется язык программирования C. Сначала объявляются переменные и матрица:

  1. float A[M][N] - объявление двумерной матрицы типа float размером M на N.
  2. int i, j, counter = 0; - объявление трех переменных типа int для подсчета количества элементов матрицы, равных заданному числу, и их индексов. Затем инициализируется генератор случайных чисел и заполняется матрица случайными числами от 0 до 99 с шагом 10:
  3. srand(time(NULL)); - инициализация генератора случайных чисел текущим временем.
  4. for (i=0; i < M; i++) { for (j=0; j < N; j++) { A[i][j] = (rand() % 100) / 10.0; printf(%3.1f , A[i][j]); } printf(\n); } Далее пользователю предлагается ввести число, и после ввода происходит проверка каждого элемента матрицы на равенство введенному числу и выводится его индекс, если условие выполняется:
  5. printf(Enter a: ); scanf(%f, &a); - запрос на ввод числа от пользователя.
  6. for (i=0; i < M; i++) { for (j=0; j < N; j++) { if (A[i][j] == a) { printf(\nA(%d, %d) = %3.1f, i, j, a); counter++; } } } В конце выводится количество найденных элементов:
  7. printf(\nCounter: %d\n, counter); - вывод количества элементов матрицы, равных заданному числу. Код заканчивается возвратом значения 0, что означает успешное выполнение программы:
  8. return 0; - завершение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы