Укажите ошибки и пути их решения - C (СИ)

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

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

#include <stdlib.h>
#include <stdio.h>
 
int main(int argc, char* argv[])
{
   
    const    n = 8;
 
    float    m[n];
    float    sum = 0, z, tmp;
    int      nMax, nMin,a,b;

    for (int i = 0; i < n; i++)
    {
        printf("m[%d] = ", i);
        scanf("%f", &m[i]);
    }

    nMin = nMax = 0;
    for (i = 0; i < n; i++)
    {
/
        if (abs(m[i]) > abs(m[nMax])) nMax = i;
        if (abs(m[i]) < abs(m[nMin])) nMin = i;
    }

    for (i=1;i<n;i++)
        if(m[i]>0){
            z+=1;
        }
        if (z==1)
            sum+=m[i];

    printf("\nÑóììГ* ýëåìåГ*òîâ = %.2f\n", sum);

 scanf("%d%d"&a&b);   
 
    for(int j=i+1;j<10;j++)
    {
        if(int(m[j])>=a && int(m[j])<=b)
        {
            tmp=m[j];
            m[j]=m[i];
            m[i]=tmp;
        }
    }

    printf("ÎòñîðòèðîâГ*Г*Г*ûé Г¬Г*Г±Г±ГЁГў:\n");
    for (i = 0; i < n; printf("%.2f ", m[i++]));
 
    return 0;
}
Задание В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) номер максимального по модулю элемента массива; 2) сумму элементов массива, расположенных после первого положительного элемента. Преобразовать массив таким образом, чтобы сначала располагались все элемен¬ты, целая часть которых лежит в интервале [а,b], а потом - все остальные
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
 
int main(int argc, char* argv[])
{
    /* Именованная константа, определяющая количество элементов массива */
    const int n = 8;
 
    /* Объявление и инициализация переменных */
    float    m[n];
    float    sum = 0, z, tmp;
    int      nMax, nMin, a, b,i,j;
 
    /* Запрашиваем ввод данных с клавиатуры */
    for (int i = 0; i < n; i++)
    {
        printf("m[%d] = ", i);
        scanf("%f", &m[i]);
    }
 
    /* Принимаем номера максимального и минимального массива равными 0 */
    nMin = nMax = 0;
    for (i = 0; i < n; i++)
    {
        /* Находим индексы максимального и минимального элементов массива по модулю */
        if (abs(m[i]) > abs(m[nMax])) nMax = i;
        if (abs(m[i]) < abs(m[nMin])) nMin = i;
    }
 
    /* Находим сумму элементов массива, расположенных после первого положительного элемента */
    for (i = 1; i<n; i++)
        if (m[i]>0) {
            z += 1;
        }
    if (z == 1)
        sum += m[i];
 
    /* Выводим на экран результат вычислений */
    printf("\nСумма элементов = %.2f\n", sum);
 
    /* Сортировка элементов массива [a,b]*/
    scanf("%d%d"&a&b);
 
    for (int j = i + 1; j<10; j++)
    {
        if (int(m[j]) >= a && int(m[j]) <= b)
        {
            tmp = m[j];
            m[j] = m[i];
            m[i] = tmp;
        }
    }
 
    /* Вывод */
    printf("Отсортированный массив:\n");
    for (i = 0; i < n; printf("%.2f ", m[i++]));
 
    return 0;
}
исправил то что поневнемательности не проставил . Выдаёт выражение должноотносится к целочисленному типу или типу перечисления без области видимости так же существует более одно экземпляра abs

Решение задачи: «Укажите ошибки и пути их решения»

textual
Листинг программы
abs(m[i])

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


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

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

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