Выводятся ненужные нули - 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; }
Объяснение кода листинга программы
- Ввод размера массива с помощью функции scanf.
- Использование цикла while для контроля ввода корректного размера массива.
- Вызов функции InputArray для заполнения массива случайными числами.
- Вызов функции PrintArray для вывода массива на экран.
- Проверка свойства убывания массива с помощью функции Decreasing.
- Вывод сообщения в зависимости от результата проверки.
- Ввод размера массива с помощью функции scanf.
- Возвращение в основную программу.
- Вывод массива на экран с помощью цикла for и функции printf.
- Инициализация переменной bDecr в функции Decreasing.
- Инициализация переменной current значением первого элемента массива.
- Использование цикла for для проверки всех элементов массива, начиная со второго.
- Сравнение текущего элемента с предыдущим.
- Обновление значения current при необходимости.
- Обновление значения bDecr в зависимости от результата сравнения.
- Возвращение значения bDecr в функцию main.
- Завершение работы программы с помощью функции system.
- Вывод сообщения в зависимости от результата проверки свойства убывания массива.
- Завершение работы программы с помощью функции system.
- Возвращение значения 0 в функцию main, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д