Выводятся ненужные нули - C (СИ)

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

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

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
void InputArray(double a[], unsigned n);
void PrintArray(double a[], unsigned n );
double Decreasing(double a[], unsigned n);

int main (void)
{    
    double a [20];
    int n;        
    while( n < 3 || n > 20 )
       {
        printf("Input size of Array : ");
        scanf("%d",&n);
       } 
       
 InputArray( a, n);
 PrintArray( a, n);
 printf("\n\t Press any key to continue...");
 getch ();
 Decreasing( a, n);
 printf("\n\t Press any key to exit");
 fflush (stdin);
 getchar ();
 return 0;
 
}
 
void InputArray(double a[], unsigned n)
{
    int i;
    srand(5);
    printf("\n Array:\n "); 
    for(i=0;i<n;i++)
    {
     a[i]=rand()%100;                     
     printf("%lf\n ", a[i]);
                   
    }  
}
void PrintArray (double a[],unsigned n)
    { 
         for (int i=0; i<n; i++)
         {
                printf("%d ", a[i]);
         }
    }
double Decreasing(double a [], unsigned n)
{
    
    double current=a[0];
    for (int j=0; j<n;j++)
    {
        if(current <=a[j]) current=a[j];
        else
        {
            printf("\n\t !!!The Array isn't decreasing!!!");
            return 0;
        }
    }
    printf("\n\t !!!The Array is decreasing!!!"); 
}

Решение задачи: «Выводятся ненужные нули»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
void InputArray(double *a, unsigned n);
void PrintArray(double *a, unsigned n);
bool Decreasing(double *a, unsigned n);
 
int main (void)
{    
    double a[20];int n;        
    while( n < 3 || n > 20 )
    {
        printf("Input size of Array : ");
        scanf("%d",&n);
    } 
    InputArray( a, n);
    PrintArray( a, n);
    system("pause");//ÆäГ*ГІГј Г*Г*Г¦Г*ГІГЁГї ГЄГ«Г*ГўГЁГёГЁ
    if(!Decreasing( a, n))
        printf("The Array is not decreasing\n");
    else
        printf("The Array is decreasing\n");
    system("pause");//ÆäГ*ГІГј Г*Г*Г¦Г*ГІГЁГї ГЄГ«Г*ГўГЁГёГЁ
    return 0;
}
 
void InputArray(double a[], unsigned n)
{
    srand(5);
    printf("\n Array:\n "); 
    for(unsigned i = 0; i < n; i++)
    {
        a[i]=rand()%100; 
        //Г‡Г*Г·ГҐГ¬ ГЇГҐГ·Г*ГІГ*ГІГј âåëè÷èГ*Г» Гў ГґГіГ*êöèè ââîäГ*?
        //Г‡Г*Г·ГҐГ¬ òîãäГ* PrintArray( a, n);???!!!
        //printf("%lf\n ", a[i]);           
    }  
}
void PrintArray (double a[],unsigned n)
{ 
    for(unsigned i = 0; i < n; i++)
        printf("a[%02d] = %lf\n",i + 1, a[i]);
}
 
bool Decreasing(double a [], unsigned n)
{
    bool   bDecr   = true;//ÔëГ*ГЈ ãîâîðÿùèé Г·ГІГ® Г¬Г*Г±Г±ГЁГў óáûâГ*ГѕГ№ГЁГ©
    double current = a[0];
    for(unsigned j = 1; j < n && bDecr;j++)
    {
        if(current <= a[j]) 
            current = a[j];
        else
            bDecr = false;
    }
    return bDecr;
}

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

  1. Ввод размера массива с помощью функции scanf.
  2. Использование цикла while для контроля ввода корректного размера массива.
  3. Вызов функции InputArray для заполнения массива случайными числами.
  4. Вызов функции PrintArray для вывода массива на экран.
  5. Проверка свойства убывания массива с помощью функции Decreasing.
  6. Вывод сообщения в зависимости от результата проверки.
  7. Ввод размера массива с помощью функции scanf.
  8. Возвращение в основную программу.
  9. Вывод массива на экран с помощью цикла for и функции printf.
  10. Инициализация переменной bDecr в функции Decreasing.
  11. Инициализация переменной current значением первого элемента массива.
  12. Использование цикла for для проверки всех элементов массива, начиная со второго.
  13. Сравнение текущего элемента с предыдущим.
  14. Обновление значения current при необходимости.
  15. Обновление значения bDecr в зависимости от результата сравнения.
  16. Возвращение значения bDecr в функцию main.
  17. Завершение работы программы с помощью функции system.
  18. Вывод сообщения в зависимости от результата проверки свойства убывания массива.
  19. Завершение работы программы с помощью функции system.
  20. Возвращение значения 0 в функцию main, что означает успешное завершение работы программы.

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


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

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

5   голосов , оценка 4 из 5