Найти номер первого минимального элемента среди положительных элементов, размещенных правее первого 0 - C (СИ)
Формулировка задачи:
Найти номер первого минимального элемента среди положительных элементом размещених правее первого элемента равного нулю. Никак не получается найти именно после нуля. Так нахожу минимальный среди положительных
А вот это попытка после нуля
Выводит минимальный но до нуля и номер го не выводит вовсе. В чем ошибка?Заранее спасибо
#include <stdio.h> #include <conio.h> int main() { int min, max, A[10],i, i_min; printf("Enter the 10 natural numbers:\n"); for ( i = 0; i < 10; i++) { printf("Enter% i", i + 1); printf(" element: "); scanf("%i", &A[i]); } for ( i = 0; i < 10; i++) { if (A[i] < min && A[i] > 0) min = A[i]; } for ( i = 0; i < 10; i++) { if (min == A[i]) printf ("Nomer of the minimum element among the positive:%i\n", i+1); } printf("The minimum element among the positive: %i", min) ; getch(); return 0; }
#include <stdio.h> #include <conio.h> int main() { int min, max, A[10],i,k; printf("Enter the 10 natural numbers:\n"); for ( i = 0; i < 10; i++) { printf("Enter% i", i + 1); printf(" element: "); scanf("%i", &A[i]); } for ( i = 0; i < 10; i++) { if(A[i] == 0) i = k; } for ( i = k+1; i < 10; i++) { if (A[i] < min && A[i] > 0 ) min = A[i]; } for ( i = k+1; i < 10; i++) { if (min == A[i]) printf ("Number of the minimum element among the positive:%i\n", i+1); } printf("The minimum element among the positive: %i", min) ; getch(); return 0; }
Решение задачи: «Найти номер первого минимального элемента среди положительных элементов, размещенных правее первого 0»
textual
Листинг программы
int min=9999999, max, A[10]={1,2,3,0,54,5,6,7,8,9},i, i_min,iZero=-1; printf("Enter the 10 natural numbers:\n"); for ( i = 0; i < 10; i++) { printf(" %i", A[i]); if(iZero<0 && A[i]==0) iZero=i; } if(iZero<0) printf("No No No..."); else { for ( i = iZero+1; i < 10; i++) { if (A[i] < min && A[i] > 0) min = A[i]; } printf("\nThe minimum element among the positive: %i", min) ; }
Объяснение кода листинга программы
- Ввод массива A с помощью цикла for. Значения массива выводятся на экран с помощью функции printf.
- Переменная iZero инициализируется значением -1. Она используется для хранения индекса первого вхождения 0 в массив A.
- Цикл for используется для поиска первого вхождения 0 в массив A. Если 0 найден, то индекс этого элемента сохраняется в переменной iZero.
- Если после прохода по всем элементам массива iZero остается равным -1, то выводится сообщение
No No No...
. - В противном случае, начинается поиск первого положительного элемента, меньшего чем текущее значение переменной min.
- Если такой элемент найден, то его значение присваивается переменной min.
- После прохода по всем элементам массива, выводится сообщение с найденным значением переменной min.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д