Найти значения наибольшего и наименьшего элементов матрицы и посчитать их среднее арифметическое - C (СИ)

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

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

1)Дана действительная матрица 6x9 во втором случем MxN.Найти значения наибольшего и наименьшего элементов, и посчитать их среднее арифметическое. как исправить этот код для действительной матрицы, иначе в некоторых случаях к примеру вместо 5.5 пишет просто 5(целочисленные значения), там нужно что то с double придумать, и ещё нужен код этой программы в случае чтения матрицы из файла
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
 
int *a;
int i,j,n,m;
int max, min;
printf("Vvedite dlinnu stroki " );
scanf("%d",&n);
printf("Vved kl-vo stolb");
scanf("%d",&m);
a = (int*)malloc(n*m*sizeof(int));
 
clrscr();
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
{
printf("A[%d][%d]=",i,j);
scanf("%d", &(a[m*i+j]));
}
max = min = a[0];
 
for (i=0;i<n;i++)
{
for (j=0;j<m;j++)
{
printf("%4d ",a[m*i+j]);
}
printf("\n");
}
for (i=0;i<n;i++)
for (j=0;j<m;j++)
{
if (a[m*i+j] > max) max=a[m*i+j];
if (a[m*i+j] < min) min=a[m*i+j];
}
printf("max = %d\nmin = %d\nsrednee = %d\n", 
max, min, (max + min)/2);
getch();
return 0;
}
2)Даны символы s1, s2 ...sN. преобразовать последовательность, удалив из неё все символы не являющиеся буквами. компилируется, выскакивет два придупреждения, призапуске вылетает,не могу понять в чём проблема.
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
 
int    main(int argc, char *argv[])
{
    const    char    *fname = "posled.txt";
    FILE    *f = NULL;
    int    ch;

    if((f = fopen(fname, "r")) == NULL)
    {
        perror("Can't open file");
        exit(1);
    };
 
    printf("Before formating:\n");
    while((ch = getc(f)) != EOF)
        putchar(ch);
 
    fseek(f, 0, SEEK_SET);
 
    printf("After formating:\n");
    while((ch = getc(f)) != EOF)
    {
        if(isalpha(ch))
            putchar(ch);
    };
    fclose(f);
    getchar();
    return    0;
};
Заранее благодарю =*

Решение задачи: «Найти значения наибольшего и наименьшего элементов матрицы и посчитать их среднее арифметическое»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
 
double *a;
int i,j,n,m;
double max, min;
printf("Vvedite dlinnu stroki = " );
scanf("%d",&n);
printf("Vved kl-vo stolb = ");
scanf("%d",&m);
a = (double*)malloc(n*m*sizeof(double));
 
for(i = 0; i < n; i++)
for(j = 0; j < m; j++)
{
printf("A[%d][%d]=",i,j);
scanf("%lf", &(a[m*i+j]));
}
max = min = a[0];
 
for (i=0;i<n;i++)
{
for (j=0;j<m;j++)
{
printf("%5.2lf ",a[m*i+j]);
}
printf("\n");
}
for (i=0;i<n;i++)
for (j=0;j<m;j++)
{
if (a[m*i+j] > max) max=a[m*i+j];
if (a[m*i+j] < min) min=a[m*i+j];
}
printf("max = %5.2lf\nmin = %5.2lf\nsrednee = %5.2lf\n", 
max, min, (max + min)/2);
getch();
free(a);
return 0;
}

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

В этом коде:

  1. Создается матрица размером n на m и инициализируется нулями.
  2. Задаются значения элементов матрицы с помощью ввода с клавиатуры.
  3. Начальные значения максимального и минимального элементов устанавливаются равными первому элементу матрицы.
  4. Происходит поиск максимального и минимального элементов матрицы путем сравнения каждого элемента с текущими значениями максимального и минимального элементов.
  5. Выводятся на экран все элементы матрицы.
  6. Выводятся на экран значения максимального, минимального и среднего элементов матрицы.
  7. Осуществляется выход из программы с помощью функции getch() и освобождается память, выделенная под матрицу. Список номеров элементов:
  8. n - количество строк в матрице
  9. m - количество столбцов в матрице
  10. a - указатель на матрицу
  11. i, j - индексы для доступа к элементам матрицы
  12. max - переменная для хранения максимального элемента матрицы
  13. min - переменная для хранения минимального элемента матрицы
  14. getch() - функция для получения ввода с клавиатуры
  15. free() - функция для освобождения памяти
  16. return 0 - завершение программы

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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