М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Катя46811909
Катя46811909
13.06.2021 11:32 •  Информатика

Водномерном массиве найти минимальный элемент и удалить его

👇
Ответ:
Polinakovta
Polinakovta
13.06.2021
//PascalABC.Net 3.0, сборка 1064
const
  nn=50;
var
  a:array[1..nn] of integer;
  i,n,imin:integer;
begin
  Write('Введите количество элементов в массиве: '); Read(n);
  Randomize;
  Writeln('Исходный массив');
  imin:=1;
  for i:=1 to n do begin
    a[i]:=Random(51)-25;
    Write(a[i],' ');
    if a[i]<a[imin] then imin:=i;
  end;
  Writeln;
  for i:=imin to n-1 do a[i]:=a[i+1];
  Writeln('Массив-результат');
  for i:=1 to n-1 do Write(a[i],' '); Writeln
end.

Тестовое решение:
Введите количество элементов в массиве: 15
Исходный массив
17 -3 22 18 -13 -5 5 -15 -18 23 17 -2 -20 23 2
Массив-результат
17 -3 22 18 -13 -5 5 -15 -18 23 17 -2 23 2

А это версия для тех, кто думает, что Паскалю пора давно "на свалку":
//PascalABC.Net 3.0, сборка 1064
begin
  var n:=ReadInteger('Введите количество элементов в массиве');
  var a:=SeqRandom(n,-25,25).ToArray();
  Writeln('Исходный массив:',#13#10,a);
  Writeln('Результат:',#13#10,a.Where(x->x<>a.Min));
end.

Тестовое решение:
Введите количество элементов в массиве 15
Исходный массив:
[-10,-15,8,-19,9,21,-22,-11,12,14,2,19,-25,-5,-15]
Результат:
[-10,-15,8,-19,9,21,-22,-11,12,14,2,19,-5,-15]

Можно сравнить понятность кода и его размер как со "школьным" решением, так и с программой на Java, приведенной в предыдущем ответе.
4,4(76 оценок)
Ответ:
//Java
import java.util.ArrayList;

class Main {
public static void main(String[] args) {
ArrayList<Integer> a = new ArrayList();

/**
 * Заполнение
 */
for (int i = 0; i < 50; i++)
a.add(i, new java.util.Random().nextInt(100));

/**
 * Пузырь
 */
for (int i = 0; i < 50; i++)
for (int j = 0; j < 50-i-1; j++)
if (a.get(j) > a.get(j+1)){
int b = a.get(j);
a.set(j, j+1);
a.set(j+1, b);
}

for (int i = 0; i < 50; i++)
System.out.print(a.get(i) + " ");
System.out.println("\n---");

/**
 * Удаляем
 */
a.remove(0);

for (int i = 0; i < 50-1; i++)
System.out.print(a.get(i) + " ");
}
}

Проверка:
1 2 3 4 5 6 7 8 9 10 12 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 96 98
---
2 3 4 5 6 7 8 9 10 12 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 96 98

Так как использовался, само расширяющийся массив, то при удалении, ничего сдвигать не нужно
4,8(46 оценок)
Открыть все ответы
Ответ:
Ann1484
Ann1484
13.06.2021
1)
var k1,k2,k3,k4:integer;
f,f1,f2,f3,f4:real;
begin
write('F = ');
readln(f);
writeln('k1, k2, k3, k4:');
readln(k1,k2,k3,k4);
f1:=f/(k1+k2+k3+k4)*k1;
f2:=f/(k1+k2+k3+k4)*k2;
f3:=f/(k1+k2+k3+k4)*k3;
f4:=f/(k1+k2+k3+k4)*k4;
writeln('f1 = ',f1:5:2);
writeln('f2 = ',f2:5:2);
writeln('f3 = ',f3:5:2);
writeln('f4 = ',f4:5:2);
end.

Пример:
F = 5
k1, k2, k3, k4:
11 14 13 12
f1 =  1.10
f2 =  1.40
f3 =  1.30
f4 =  1.20

2)
var a,a4,a6:real;
begin
write('a = ');
readln(a);
a4:=a*a; //a^2
a4:=a4*a4; //a^4
writeln(a,'^4 = ',a4);
a6:=a*a; //a^2
a6:=a6*a6*a6; //a^6
writeln(a,'^6 = ',a6);
end.

Пример:
a = 2
2^4 = 16
2^6 = 64
4,4(98 оценок)
Ответ:
megakolbina
megakolbina
13.06.2021
1)
var k1,k2,k3,k4:integer;
f,f1,f2,f3,f4:real;
begin
write('F = ');
readln(f);
writeln('k1, k2, k3, k4:');
readln(k1,k2,k3,k4);
f1:=f/(k1+k2+k3+k4)*k1;
f2:=f/(k1+k2+k3+k4)*k2;
f3:=f/(k1+k2+k3+k4)*k3;
f4:=f/(k1+k2+k3+k4)*k4;
writeln('f1 = ',f1:5:2);
writeln('f2 = ',f2:5:2);
writeln('f3 = ',f3:5:2);
writeln('f4 = ',f4:5:2);
end.

Пример:
F = 5
k1, k2, k3, k4:
11 14 13 12
f1 =  1.10
f2 =  1.40
f3 =  1.30
f4 =  1.20

2)
var a,a4,a6:real;
begin
write('a = ');
readln(a);
a4:=a*a; //a^2
a4:=a4*a4; //a^4
writeln(a,'^4 = ',a4);
a6:=a*a; //a^2
a6:=a6*a6*a6; //a^6
writeln(a,'^6 = ',a6);
end.

Пример:
a = 2
2^4 = 16
2^6 = 64
4,8(55 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ