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

Составить программу на языке паскаль составить программу сокращения одномерного числового массива путем удаления ( всех элементов с нулевыми значениями . дополнительный массив использовать не разрешается ) можети поясните словами что делает программа

👇
Ответ:
Inna21032002
Inna21032002
16.08.2021

var

  a : array of integer;

  n, i, last : integer;

begin

  read (n);

  setlength (a, n);

  for i := 0 to n - 1 do

    read (a[i]);

  last := 0;

  for i := 0 to n - 1 do

    if a[i] <> 0 then

    begin

      a[last] := a[i];

      inc (last);

    end;

  setlength (a, last);

  for i := 0 to last - 1 do

    write (a[i], ' ');

end.

 

Суть такова. Имеем динамический массив. Считали массив, так как динамический, то от нуля все. Установили последнюю свободную ячейку 0. Идем по массиву и ищем ненулевое значение. Как только нашли, пишем его в свободную ячейку и увеличиваем занчение свободной ячейки на 1. При этом наши данные не затираются. После окончания всех операций в last лежит длина массива.

Статитечкий массив. 

var

  a : array [1..100] of integer;

  n, i, last : integer;

begin

  read (n);

  for i := 1 to n do

    read (a[i]);

  last := 1;

  for i := 1 to n do

    if a[i] <> 0 then

    begin

      a[last] := a[i];

      inc (last);

    end;

  dec (last);

  for i := 1 to last do

    write (a[i], ' ');

end.

 

4,4(79 оценок)
Открыть все ответы
Ответ:
Динара22235
Динара22235
16.08.2021
Uses graph; var gd,gm,c,i:integer;     p:array[1..12] of Pointtype; begin gd:=detect; initgraph(gd,gm,''); setcolor(10); circle(340,105,50); Setfillstyle(1,10); fillellipse(340,105,50,50); setcolor(12); circle(290,170,50); Setfillstyle(1,12); fillellipse(290,170,50,50); setcolor(13); circle(390,190,50); Setfillstyle(1,13); fillellipse(390,190,50,50); p[1].x:=240;p[1].y:=190; p[2].x:=440;p[2].y:=190; p[3].x:=440;p[3].y:=240; p[4].x:=345;p[4].y:=265; p[5].x:=345;p[5].y:=365; p[6].x:=440;p[6].y:=390; p[7].x:=240;p[7].y:=390; p[8].x:=335;p[8].y:=365; p[9].x:=335;p[9].y:=265; p[10].x:=240;p[10].y:=240; p[11].x:=p[1].x;p[11].y:=p[1].y; setcolor(11); moveto(p[1].x,p[1].y); for i:=1 to 11 do lineto(p[i].x,p[i].y); Setfillstyle(1,11); fillpoly(11,p); readln end.
4,4(36 оценок)
Ответ:
sonyachibineva
sonyachibineva
16.08.2021
Uses graph; var gd,gm,c,i:integer;     p:array[1..12] of Pointtype; begin gd:=detect; initgraph(gd,gm,''); setcolor(10); circle(340,105,50); Setfillstyle(1,10); fillellipse(340,105,50,50); setcolor(12); circle(290,170,50); Setfillstyle(1,12); fillellipse(290,170,50,50); setcolor(13); circle(390,190,50); Setfillstyle(1,13); fillellipse(390,190,50,50); p[1].x:=240;p[1].y:=190; p[2].x:=440;p[2].y:=190; p[3].x:=440;p[3].y:=240; p[4].x:=345;p[4].y:=265; p[5].x:=345;p[5].y:=365; p[6].x:=440;p[6].y:=390; p[7].x:=240;p[7].y:=390; p[8].x:=335;p[8].y:=365; p[9].x:=335;p[9].y:=265; p[10].x:=240;p[10].y:=240; p[11].x:=p[1].x;p[11].y:=p[1].y; setcolor(11); moveto(p[1].x,p[1].y); for i:=1 to 11 do lineto(p[i].x,p[i].y); Setfillstyle(1,11); fillpoly(11,p); readln end.
4,4(63 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ