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

С++. С Vectora. Удаление элемента

Удалите из массива элемент в индексом k. Обратите внимание, считывание и вывод массива уже написаны за вас, необходимо написать только фрагмент программы — само удаление элемента.

Входные данные

В первой строке задано натруальное число n (n≤100) и индекс k (0≤k
Примечание

Для того чтобы удалить из массива A последний элемент необходимо использовать инструкцию pop_back():

A.pop_back();
Размер массива уменьшится на единицу. Данная инструкция выдаст ошибку выполнения, если вызвать её на пустом векторе.

👇
Ответ:
нона57
нона57
14.06.2020

a.erase(a.begin() + k - 1);

4,4(90 оценок)
Открыть все ответы
Ответ:
raku13
raku13
14.06.2020
1. Создаем файл MatInt.pas следующего содержания:

// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
unit MatInt;

interface

type
  Matrix=array[,] of integer;

function MatCreate(m,n:integer):Matrix;
procedure MatPrint(a:Matrix;w:integer);
procedure MatMax(a:Matrix;var x,imax,jmax:integer);

implementation

function MatCreate(m,n:integer):Matrix;
// создает матрицу и инициализирует её нулями
begin
  SetLength(Result,m,n);
end;

procedure MatPrint(a:Matrix;w:integer);
// выводит матрицу, отводя w позиций под элемент
begin
  var n:=Length(a,1)-1;
  for var i:=0 to Length(a,0)-1 do begin
    for var j:=0 to n do Write(a[i,j]:w);
    Writeln
    end
end;

procedure MatMax(a:Matrix;var x,imax,jmax:integer);
// возвращает значение максимального элемента и его координаты
begin
  imax:=0; jmax:=0;
  var n:=Length(a,1)-1;
  for var i:=0 to Length(a,0)-1 do
    for var j:=0 to n do
      if a[i,j]>a[imax,jmax] then (imax,jmax):=(i,j);
  Inc(imax); Inc(jmax); x:=a[imax-1,jmax-1]
end;

end.

2. Компилируем файл, получая библиотеку MatInt.pcu

3. Пишем основную программу:

// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
uses
  MatInt;
begin
  var a:=MatCreate(5,8);
  var n:=Length(a,1)-1;
  for var i:=0 to Length(a,0)-1 do
  for var j:=0 to n do a[i,j]:=Random(-50,50);
  MatPrint(a,4);
  var irow,jcol,max:integer;
  MatMax(a,max,irow,jcol);
  Writeln('Максимальный А[',irow,',',jcol,']=',max)
end.

Тестовое решение
  11 -16  11  16  23  -4 -17 -34
 -12  -5  20   9  16  47  43  17
 -46 -26  47 -40  12 -31 -25  13
  -7  39 -20  26  11 -19  32 -15
  45 -10 -28  31 -46 -29 -29 -22
Максимальный А[2,6]=47
4,6(48 оценок)
Ответ:
polyhovichvikto
polyhovichvikto
14.06.2020
В операторах Dat[1] := 7; ... ; Dat[10] := 9; задаются элементы массива.
m := 0; n := 0; - начальные значения переменных m и n.
В цикле for k := 1 to 10 do ... каждый элемент массива сравнивается с текущим значением переменной m (Dat[k] >= m). Если элемент больше, то значения переменных m и n меняются: в переменной m запоминается значение элемента массива, в переменной n - значение номера (индекс) этого элемента. Таким образом, после выполнения цикла значения переменных будут: m=10; n=8. На экран будет выведено значение 8 (это номер последнего максимального элемента массива).
ответ: 8
4,6(7 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ