Дается последовательность из N чисел. Выведите разницу между максимальным и минимальным элементами последовательности.
10-11 класс
|
Формат входных данных
Первая строка входного файла содержит целое число N (1 <= N <= 100000). В следующей строке задаются N положительных целых чисел, каждое из которых не превышает 100000.
Сделано через динамический массив!
var a:array of Integer; n,i,max,min:Integer;
begin
Другие вопросы из категории
он тупоугольным, прямоугольным или остроугольным
Сделать разветвляющуюся алгоритмическую структуру.
Программу реализовать с помощью трех циклических алгоритмов:
1) Цикл со счетчиком for
2) Цикл с предусловием while
3) Цикл с постусловием repeat
В программе предусмотреть ситуацию, когда пользователь вводит значение B ‹ A
Пример 1:
Пользователь вводит числа A=5, B=10. Сумма чисел: 5+6+7+8+9+10. Вывод на экран: 45
Пример 2:
Пользователь вводит числа A=7, B=4. Сумма чисел: 4+5+6+7. Вывод на экран: 22
Пример 3:
Пользователь вводит числа A=5, B=5. Сумма чисел: 5. Вывод на экран: 5
2) Какое число следует за каждым из данных: (а) 667(внизу 8) (б) 101(внизу 2)
3) Выполните арифметические операции: (а)11010110(внизу 2) + 1111001(внизу 2)
(б) 1110(внизу 2) * 1001(внизу 2) (в) 1100011(внизу 2) - 11111(внизу 2)
1) побуждение
2) препятствие
3) маскировка
4) принуждение
5) управление доступом
y0 = 0; yk = (yk-1 + 1)/(yk-1 + 2), k = 1, 2, …
Дано действительное число ε > 0. Найти первый член yn, для которого вы-
полнено yn – yn-1 < ε.
Pascal, помогите решить.
Читайте также
расположенных между максимальным и минимальным элементами.
Дан одномерный массив, состоящий из вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
ну или исправьте мое пжл
program fgf;
var mas:array[1..100] of real;
max,min:real;
i,n,c,b:shortint;
p:real;
f1,g:text;
begin;
assign (f1, 'input.txt');
reset (f1);
readln (f1, n);
for i:=1 to N do read (mas[i]);
max:=mas[i];
for i:=2 to N do begin
if mas[i]>max then begin
max:=mas[i];
c:=i;
end;
end;
min:=mas[1];
for i:=2 to N do begin
if mas[i]<min then begin
max:=mas[i];
b:=i;
end;
end;
close(f1);
assign (g, 'output.txt');
rewrite (g);
p:=1;
if b<c then I:=b+1 and c-1
else for I:=c+1 to b-1 do p:=p*mas[i];
if (n<3) or (b+1=c) or (c+1=b) then writeln(g,'0.00') else write(p:3:3) ;
close (g);
end.
- В целочисленном массиве Х(N) удалить все элементы, расположенные между максимальным и минимальным элементами.
- Найти среднее арифметическое элементов массива до и после удаления.
- В программе написать функции: удаления элемента, поиска номеров минимального и
максимального элементов, определения среднего арифметического
элементов массива.
из выше перечисленного выводит только средне арифметическое и средне арифметическое между 1 и последним числом.
#include
float srednee(int* a, int min, int max)
{
int s = 0;
for(int i = min; i <= max; i++)
s += a[i];
return s * 1.0 / (max - min + 1);
}
using namespace std;
int min_i(int* a, int n)
{
int m = a[0];
int numb = 0;
for(int i = 1; i < n; i++)
if(m > a[i])
{
m = a[i];
numb = i;
}
return numb;
}
int max_i(int* a, int n)
{
int m = a[0];
int numb = 0;
for(int i = 1; i < n; i++)
if(m < a[i])
{
m = a[i];
numb = i;
}
return numb;
}
using namespace std;
int main()
{
int N;
cin >> N;
int X[N];
for(int i = 0; i < N; i++)
cin >> X[i];
cout << "srednee znachenie vsego massiva: " << srednee(X, 0, N - 1) << endl;
int min = min_i(X, N);
int max = max_i(X, N);
if(min > max)
{
int z = min;
min = max;
max = z;
}
if(max - min == 0 || max - min == 1)
cout << "srednee znachenie korotkogo massiva: " << srednee(X, 0, N - 1) << endl;
else
{
int delta = max - min;
for(int i = max; i < N; i++)
X[i - delta + 1] = X[i];
cout << "srednee znachenie korotkogo massiva: " << srednee(X, 0, N - delta) << endl;
system("pause");
return 0;
}
}