Программалау тілдері 1: C, C++
Автор: zhako010341 • Май 14, 2023 • Реферат • 1,542 Слов (7 Страниц) • 147 Просмотры
Топ ЕТБҚ-25
Сахиев Жамбыл
Пән Программалау тілдері 1: C, C++
Билер нөмірі. 11
1 сұрақ. Динамикалық массивтер. Қосымша жадыны алу және босату функциялары malloc(),calloc(),realloc().
1. malloc функциясы.
void * malloc(int size);
Осы void * malloc функциясы size байт орын алады. Бұл функцияның мәні алған жердегі алғашқы адресіне тең .
2. calloc функциясы.
void* calloc( int num, int size);
Осы функция бос жадыдан әрбірі 0-ге тең болатын size байтқа тең num орын алады. Бұл жады көлемi num*size байт-қа тең. Функцияның мәні алған жердің алғашқы адресіне тең болады.
3. realloc функциясы.
void* realloc (void* ptr, int size);
ptr – динамикалық жадының алғашқы адресі.
size - динамикалық жадының жаңа өлшемi.
Мысал
1. Динамикалық массивтен ең үлкен элементтерін алып тастау керек.
#include <iostream>
using namespace std;
int main()
{
srand(time(0));
int n = 5, i, j;
int* a = (int*)calloc(n, 4);
// a[0] = 8; a[1] = 8; a[2] = 5; a[3] - 5; a[4] = 5
for (i = 0; i < n; i++)
{ // a[i]= -5 + rand() % 10;
a[i] = rand() % 10;
cin("%d", a[i]);
}
cout << endl;
int k = 0;
for (i = 1; i < n; i++) if (a[i] > a[k]) k = i;
cout << " max = " << a[k] << endl;
int max = a[k], b;
i = 0;
while (i < n)
{
if (a[i] == max)
{
n--;
b = a[n];
a = (int*)realloc(a, n * sizeof(int));
if (i != n)
{
for (j = i; j < n - 1; j++) a[j] = a[j + 1];
a[n - 1] = b;
}
i--;
}
i++;
}
for (i = 0; i < n; i++) cout << a[i] << " ";
cout << endl;
return 0;
}
2 сұрақ .С++ тіліндегі оқу және жазу ағындарының айнымалылары cin, cout .
C++ программалау тілінде cout бізге қажетті деректерді экранға шығаруға мүмкіндік береді.Мысалы cout << “Бізге қажетті дерек немесе айнмалы ”;
С++ программалау тілінде тікелей қолдан яғни клавиатурадан енгізу үшін cin айнымалы қолданы.Бұл айнымалыны қолдану cin>> бізге қажетті айнымалы;
Мысал;
#include <iostream>
#include <string>
...