Получить новую последовательность, выбросив из исходной все члены с максимальным значением - C (СИ)

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

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

Условие:Даны действительные числа A[1],A[2],A[3],...,A[n].Получить новую последовательность, выбросив из исходной все члены со значением max(A[1],A[2],A[3],...,A[n]).
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#define N 10
 
int main()
{
    int mass[N];
    int max=mass[0];
    int i=0;
    int i1;
 
     printf("Vvedite 10 chisel:\n");
 
        for (i = 0; i < N; ++i)
        scanf_s("%i", &mass[i]);
        printf("\nIshodnaya stroka:\n");
 
           for (i = 0; i < N; ++i)
           printf("%d ", mass[i]);
           printf("\n");
 
           max=mass[0];
 
              for(i=0;i<N;i++);
              {
                 if(max<mass[i])
                 max=mass[i];
              }
        
                 for(i1=0;i1<N;i1++);
                 {  if(max=mass[i])
                   {
                    for(i1=0;i<N-1;i1++);
                       mass[i1]=mass[i1+1];
                        N--;
                   }    
                 }
                        printf("New massiv\n");
                        printf("%d ", mass[i]);
                        printf("\n");
 
         return 0;
}

Решение задачи: «Получить новую последовательность, выбросив из исходной все члены с максимальным значением»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define N 10
 
int main() {
    int mass[N];
    int max = mass[0];
    int i = 0;
    int i1;
 
    printf("Vvedite 10 chisel:\n");
 
    for (i = 0; i < N; ++i)
        scanf_s("%i", &mass[i]);
    printf("\nIshodnaya stroka:\n");
 
    for (i = 0; i < N; ++i)
        printf("%d ", mass[i]);
    printf("\n");
 
    max = mass[0];
 
    for (i = 0; i < N; i++)
        ;
    {
        if (max < mass[i])
            max = mass[i];
    }
 
    for (i1 = 0; i1 < N; i1++)
        ;
    {
        if (max = mass[i]) {
            for (i1 = 0; i < N - 1; i1++)
                ;
            mass[i1] = mass[i1 + 1];
            N--;
        }
    }
    printf("New massiv\n");
    printf("%d ", mass[i]);
    printf("\n");
 
    return 0;
}

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

В этом коде:

  1. Объявлен массив mass типа int размером N = 10.
  2. Пользователю предлагается ввести 10 чисел.
  3. Введенные числа сохраняются в массиве mass.
  4. Выводится исходная строка с числами.
  5. Находится максимальное число в массиве, и его значение присваивается переменной max.
  6. Инициализируется цикл, который будет перебирать элементы массива.
  7. Если текущий элемент массива больше максимального числа, то он становится новым максимальным числом.
  8. Цикл сбрасывается, и начинается заново с начала массива.
  9. Если текущий элемент массива равен максимальному числу, то он удаляется из массива, и переменная N уменьшается на 1.
  10. Выводится новая строка с числами без максимального значения.
  11. Возвращается 0, чтобы указать, что программа успешно завершилась.

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


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

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

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