Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_KhIO_I_semestr_-_shpori.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.07 Mб
Скачать

3.Множення матриці на вектор Делфі

4.Квадратне Делфі #include <stdio.h>

#pragma hdrstop

#include <tchar.h>

#include <math.h>

#include<conio.h>

#include <iostream>

#include <clocale>

//---------------------------------------------------------------------------

#pragma argsused

using namespace std;

int main()

{

double a,b,c;

cout<<"vvedit znazennya a,b,c ";

cin>>a>>b>>c;

double d,x1,x2,x;

if (a==0)

{

x=-c/b;

cout<<"Ne kvadratne, x="<<x<<endl;

system("PAUSE");

return 0;

}

else

{

d=b*b-4*a*c;

if (d<0)

{

cout<<"rozviazku - kompleksni chusla"<<endl;

system("PAUSE");

return 0;

}

else

{ if (d=0)

{x=-b/(2*a);

cout<<"koren x="<<x<<endl;

}

else

{

x1=(-b+(sqrt(d)))/(2*a);

x2=(-b-(sqrt(d)))/(2*a);

cout<<"x1="<<x1<<endl;

cout<<"x2="<<x2<<endl;

system("PAUSE");

return 0;}} }

}

//---------------------------------------------------------------------------

Білет,25 1.Пояснити правила написання всіх складових Паскаль-Програми 2.Вказівники с++

Три типи вказівників у мові С++ та області їхнього використання

Вказівники – це змінні, які містять не значення, а адресу деякого значення. Вказівник можна описати і проініціалізувати. Опис:<імя типу>*<імя вказівника>; Ініціалізація:<імя вказівника>=&<імя вже описаної змінної>; Наприклад: int i=5; //описано i проініціалізовано// цілочисельну змінну і int*p; // описано p-вказівник на int

P=&і; // р проініціалізовано адресою і Тоді і = і+7; є еквівалентно *p=*p+7;

Тут операція & повертає адресу змінної-операнда і. Вказівники не потрібно ініціалізувати в момент їхнього опису, проте перед їхнім використанням ініціалізація є необхідною. У мої С++ є 3 типи вказівників:

_ вказівник на змінну(обєкт); _вказівник на функцію; _вказівник на void. У С++ вказівник не є самостійним типом. Він пов'язаний з іншим конкретним типом даних, у нашому прикладі – 3int,

Вказівник на функцію містить адрес комірки памяті, у якій знаходиться перший виконуваний оператор функції – адресу точки входу у функцію. Наприклад опис: int(*tp)(float,float); задає вказівник з іменем fp на функцію, яка повертає значення типу int і яка має два параметри типу float. У вказівнику на void можна у різні моменти роботи програми зберігати адреси змінних різних типів. Приклад вказівника на функцію void f(int a)// опис. Функцію

{<тіло функції>;}

Void(*fp)(int) fp=&f; // ініціалізуємо вказівник fp(10);// аналог попереднього виклику При груповому описі змінних, * ставимо перед кожною змінною, наприклад:

Int*a,b,*c; Тут описано два вказівники.

Операції з вказівниками і способи їхньої ініціалізації

Операції

1.Розадресування(опосередковане звертання до змінної з використанням *)

2.Присвоєння вказівнику значення(або Null)

3.Додавання/віднімання константи

4(++) абл (--) - інкремент або декримент

5.Порівняння

6.Приведення типів

Способи ініціалізації

1.За допомогою операції & одержання адреси

2.Шляхом присвоєння вказівнику значення іншого вказівника

3.за допомогою і мені масиву або ф-ції,яке трактується як адреса

4.Шляхом присвоєння вказівнику адреси в шістадцятковій формі

5.Шляхом використання операції С++ new

int*p=new int; - виділення 4 байт в динамічній памяті

int*q=new int(5); - виділення 4 байт динамічної памяті і заповнення їх числом 5

int*im=new int[5] - виділення 5-ти комірок у динамічній памяті.У змінну im записано адресу початку цього динамічного масиву

Звільнення памяті,виділеною операцією new здійснює операція delete

delete ip;

delete iq;

delete []im;

Якщо [] не вказати,то компілятор звільнить тільки першу комірку динамічного масиву.Решта комірок будуть недоступними,алее память займатимуть

У С операція new відсутня.ЇЇ аналогом є ф-ція malloc,а звільнення слід робити ф-цією free.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]