В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Лерок228
Лерок228
17.07.2020 23:34 •  Информатика

Дан вектор x={x1,..., xn}. Разработайте и представьте в виде блок-схемы икода программы на языке Си алгоритм, изменяющийвсоответствии с вариантом задания значения некоторых его компонентов.Составьте отчет овыполнении лабораторной работы, в который включите:a.название и цель работы;b.индивидуальное задание;c.текст программы;d.результат решения задачи. Код к задаче
#include int main(int argc, char *argv[]){inti;floatx[10], max, min;/*Вводэлементовмассива*/for(i= 0; i max) max= x[i]; /*Поиск минимального элемента*/min= x[0];for(i= 1; i< 10; i++)if(x[i] < min) min= x[i];x[0] = ( max+min)/ 2;/*Вывод элементов массива*/for(i= 0; i< 10; i++ )printf("\nx[%d]=%f",i+1,x[i]);return 0;}

Показать ответ
Ответ:
lavbi3
lavbi3
15.01.2023 17:41

Не совсем верно, но очень близко.

uses crt;

const nmax=100;

var a:array[1..nmax] of integer;

n,i,j,k:byte;

begin

clrscr;

repeat

write('Размер массива до ',nmax,' n=');

readln(n);

until n in [1..nmax];

writeln('Введите элементы массива:');

for i:=1 to n do

begin

write('a[',i,']=');

readln(a[i]);

end;

clrscr;

writeln('Массив:');

for i:=1 to n do

write(a[i]:4);

writeln;

writeln;

k:=0;

for i:=1 to n-1 do

for j:=i+1 to n do

if a[j]=a[i] then k:=k+1;

if k=1 then write('В массиве только 2 одинаковых элемента')

else write('В массиве не 2 одинаковых элемента');

readln

end.

Объяснение:

0,0(0 оценок)
Ответ:
sarychevalenka
sarychevalenka
06.05.2020 02:13

Объяснение:

Начну с того, что в программах на языке C# используются управляемые и неуправляемые объекты. Управляемые объекты без проблем удаляются сборщиком мусора. В то время, как неуправляемые объекты необходимо освобождать вручную.

В C# есть два освобождения ресурсов: через деструктор или через метод Dispose, который определен в интерфейсе IDisposable.

Деструктор вызывается автоматически во время удаления объекта сборщиком мусора, но момент его вызова определить невозможно, так как сборщик мусора запускается только при недостатке памяти. Таким образом, объекты могут находиться в памяти вплоть до завершения программы.

Метод Dispose вызывается программистом (использующим этот класс), когда объект больше не нужен. При этом подходе происходит немедленное освобождение ресурсов. Минус подхода - программист может попросту забыть вызвать метод Dispose.

В вашем коде приведен беспроигрышный вариант: в методе f происходит освобождение управляемых и неуправляемых ресурсов.

Код прокомментировал ниже. Параметр dd необходим, чтобы не освобождать управляемые ресурсы при вызове деструктора, так на момент его вызова мы не можем быть уверенными в их состоянии, что они до сих пор находятся в памяти.

namespace ConsoleApp17

{

   public class A : IDisposable // Объявление класса, реализующего интерфейс IDisposable

   {

       private bool disposed = false; // Объект уничтожен?

       public void Dispose()

       {

           GC.SuppressFinalize(this); // Запрещаем сборщику мусора вызывать деструктор при удалении объекта

           f(true); // Вызываем метод освобождения неуправляемых и управляемых ресурсов

           Console.WriteLine(" Call dispose ");

       }

       private void f(bool dd)

       {

           if (!this.disposed) // Если объект не уничтожен, то уничтожаем

           {

               if (dd) // Если true, то освобождаем также управляемые ресурсы

                   Console.WriteLine("Dispose managed resourse. GC.collect()");

               // Освобождаем неуправляемые ресурсы

               Console.WriteLine("Clean up unmanaged resources");

           }

           disposed = true; // Помечаем, что объект уничтожен

       }

       ~A() // Деструктор

       {

           f(false); // Вызываем метод освобождения неуправляемых ресурсов

           Console.WriteLine("Call destruktor");

       }

   }

   class Program

   {

       static void Main(string[] args)

       {

           A ob = new A(); // Создание объекта

           ob.Dispose(); // Уничтожение объекта

       }

   }

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота