В задании исходный код программы введен немного неправильно, поэтому я решил его загуглить и нашел во с идентичными кодом без ответа. Код, вроде, рабочий, но я его серьезно не тестировал.
N = 1E5
a, p, s = [], [], []
def main():
n = k = i = j = 0
(n, k) = (int(input()), int(input()))
p = [0] * n
s = [0] * n
for i in range(0, n):
a.append(int(input()))
if a[i] > a[j]:
p[i] = i
j = i
else:
p[i] = p[j]
j = n - 1
for i in range(n - 1, -1, -1):
if (a[i] >= a[j]):
s[i] = i
s[i] = s[j]
m, l, r = 0, 0, k + 1
i = l
for j in range(r, n):
t = a[p[i]] + a[s[j]]
if t > m:
l = p[i]
r = s[j]
m = t
i += 1;
print(str(l + 1) + " " + str(r + 1))
if __name__ == "__main__":
main()
Відповідь:
#include<stdio.h>
#include<stdlib.h>
int quantity(){
int y;
while(1){
printf("Введите количество элементов:\n");
if(!(scanf("%i",&y))||y<=0){
printf("Неккоректный ввод. Повторите\n");
fflush(stdin);}
else return y;}
}
float middle_arif(int quantity){
float f,sum=0;
int temp;
for(temp=0;temp<quantity;temp++){
printf("Введите %i элемент:\n",temp+1);
if(!(scanf("%f",&f))||f<0||f>100){
fflush(stdin);
else{
sum+=f;
break;
}}
return sum/quantity;}
int main(){
setlocale(0,"");
printf("Среднее арифметическое значений равно %f",middle_arif(quantity()));
return 0;
В задании исходный код программы введен немного неправильно, поэтому я решил его загуглить и нашел во с идентичными кодом без ответа. Код, вроде, рабочий, но я его серьезно не тестировал.
N = 1E5
a, p, s = [], [], []
def main():
n = k = i = j = 0
(n, k) = (int(input()), int(input()))
p = [0] * n
s = [0] * n
for i in range(0, n):
a.append(int(input()))
if a[i] > a[j]:
p[i] = i
j = i
else:
p[i] = p[j]
j = n - 1
for i in range(n - 1, -1, -1):
if (a[i] >= a[j]):
s[i] = i
j = i
else:
s[i] = s[j]
m, l, r = 0, 0, k + 1
i = l
for j in range(r, n):
t = a[p[i]] + a[s[j]]
if t > m:
l = p[i]
r = s[j]
m = t
i += 1;
print(str(l + 1) + " " + str(r + 1))
if __name__ == "__main__":
main()
Відповідь:
#include<stdio.h>
#include<stdlib.h>
int quantity(){
int y;
while(1){
printf("Введите количество элементов:\n");
if(!(scanf("%i",&y))||y<=0){
printf("Неккоректный ввод. Повторите\n");
fflush(stdin);}
else return y;}
}
float middle_arif(int quantity){
float f,sum=0;
int temp;
for(temp=0;temp<quantity;temp++){
while(1){
printf("Введите %i элемент:\n",temp+1);
if(!(scanf("%f",&f))||f<0||f>100){
printf("Неккоректный ввод. Повторите\n");
fflush(stdin);
}
else{
sum+=f;
fflush(stdin);
break;
}
}}
return sum/quantity;}
int main(){
setlocale(0,"");
printf("Среднее арифметическое значений равно %f",middle_arif(quantity()));
return 0;
}