
Другие языки программирования и технологии
Решите задачку на С (не на С++ и не на С#)

#include <stdio.h>
int find_min(int * A, int Len)
{
int Min = 1000;
int find = 0;
for (int x = 0; x < Len; x++)
{
if (A[x] > 0)
{
if (Min > A[x])
{
Min = A[x];
find = 1;
}
}
}
if (find) return Min;
else return 0;
}
int main(void)
{
int N = 0, Min = 0;
int B = 1000, L = -1000;
printf("Sample Input\n");
do
{
scanf("%d", &N);
if (N <= 0) printf("N должно быть больше нуля\n");
} while (N<=0);
int A[N];
for (int x=0; x<N; x++)
{
do
{
scanf("%d", &A[x]);
if (A[x] < L || A[x] > B)
printf("Значение должно быть в пределах от %d до %d\n", L, B);
} while (A[x] < L || A[x] > B);
}
Min = find_min(A, N);
printf ("Sample Output\n");
printf ("%d\n", Min);
for (int x = 0; x < N; x++)
{
printf ("%d ", A[x]);
}
putchar ('\n');
return 0;
}
int find_min(int * A, int Len)
{
int Min = 1000;
int find = 0;
for (int x = 0; x < Len; x++)
{
if (A[x] > 0)
{
if (Min > A[x])
{
Min = A[x];
find = 1;
}
}
}
if (find) return Min;
else return 0;
}
int main(void)
{
int N = 0, Min = 0;
int B = 1000, L = -1000;
printf("Sample Input\n");
do
{
scanf("%d", &N);
if (N <= 0) printf("N должно быть больше нуля\n");
} while (N<=0);
int A[N];
for (int x=0; x<N; x++)
{
do
{
scanf("%d", &A[x]);
if (A[x] < L || A[x] > B)
printf("Значение должно быть в пределах от %d до %d\n", L, B);
} while (A[x] < L || A[x] > B);
}
Min = find_min(A, N);
printf ("Sample Output\n");
printf ("%d\n", Min);
for (int x = 0; x < N; x++)
{
printf ("%d ", A[x]);
}
putchar ('\n');
return 0;
}
находим индекс первого положительного элемента и ищем индекс положительного числа, которое больше него.
auto it = min_element(find_if(v.begin(),v.end(), [](int a) {return a > 0;}), v.end(), [](int a, int b) { return a < b && a > 0; });
cout << (it != v.end() ? *it : 0);
auto it = min_element(find_if(v.begin(),v.end(), [](int a) {return a > 0;}), v.end(), [](int a, int b) { return a < b && a > 0; });
cout << (it != v.end() ? *it : 0);
Похожие вопросы
- Помогите решить задачку простенькую.
- Помогите пожалуйста решить задачку на С++ очень нужно (((
- Кто разбирается в программировании? помогите решить задачку!
- Пожалуйста, помогите решить задачку по информатике...
- помогите решить задачку, на VBA для Excel
- Кто нибудь может решить задачку по С++
- Помогите, пожалуйста решить задачку!!! (Pascal)
- Люди помогите решить задачку!!!на паскале
- Решите задачки-легкие, легкие
- Знатоки Турбо Паскаля, помогите решить задачки для 7-го класса. Дочке очень нужно.
потому что может попасться число 1000.