Last active
February 10, 2025 17:52
-
-
Save Denis903/f9fa692f936bebe7a14635feb11e6d64 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 1 Задача : Обмен значений трёх переменных через указатели | |
#include <iostream> | |
using namespace std; | |
int main() | |
{ | |
setlocale(LC_ALL, "Russian"); | |
srand(time(NULL)); | |
int a = 1, b = 2, c = 3; | |
int* p1 = &a, * p2 = &b, * p3 = &c,*pt = p1; | |
cout <<"a= "<< * p1 << " b= " << *p2 << " c= " << *p3 << endl; | |
pt = p1,p1 = p2,p2 = p3,p3 = pt; | |
cout << "a= " << *p1 << " b= " << *p2 << " c= " << *p3 << endl; | |
return 0; | |
} | |
//----То же задание, но сдвиг влево с помощью цикла------- | |
#include <iostream> | |
using namespace std; | |
int main() | |
{ | |
setlocale(LC_ALL, "Russian"); | |
srand(time(NULL)); | |
int a = 1, b = 2, c = 3; | |
int* p[] = {&a,&b,&c}; | |
int temp = *p[0]; | |
cout << "a= " << *p[0] << " b= " << *p[1] << " c= " << *p[2] << endl; | |
cout << "Сдвиг влево:" << endl; | |
for (int i = 0; i <=2 ;i++) | |
{ | |
if (i == 2) { *p[i] = temp; cout <<" "<< * p[i] << " "; } | |
else { *p[i] = *p[i + 1]; cout <<" "<< * p[i] << " "; } | |
} | |
return 0; | |
} | |
//-------------------------------- | |
// 2 Задача : Найти минимум из двух чисел через указатели. | |
#include <iostream> | |
using namespace std; | |
int main() | |
{ | |
setlocale(LC_ALL, "Russian"); | |
srand(time(NULL)); | |
int x,y; | |
cout << "Введите 2 числа :"; | |
cin >> x >> y; | |
int* p1 = &x,*p2=&y; | |
cout << "\nМинимальное значение : "<<((*p1<*p2) ? *p1 : *p2); | |
return 0; | |
} | |
//-------------------------------- | |
// 3 Задача : Является ли число простым. | |
#include <iostream> | |
using namespace std; | |
int main() | |
{ | |
setlocale(LC_ALL, "Russian"); | |
srand(time(NULL)); | |
int n; bool a; | |
cout << "Введите число : "; cin >> n; | |
int *p = &n; | |
for (int i = 2; i < *p; i++) | |
{ | |
if (*p % i == 0) { a = true; } | |
} | |
if (a == true) { cout << " " << "\nНе простое число." << endl; } | |
else { cout << " " << "\nПростое число." << endl; } | |
return 0; | |
} | |
//-------------------------------- | |
// 4 Задача : Вычислить факториал. | |
#include <iostream> | |
using namespace std; | |
int main() | |
{ | |
setlocale(LC_ALL, "Russian"); | |
srand(time(NULL)); | |
int n, proiz = 1,temp,prt; | |
cout << "Введите число : "; cin >> n; | |
int* p = &n;temp = (*p) - 1, prt = n; | |
while (temp > 1) { *p *= temp ;temp--; } | |
cout <<"Факториал "<<prt<<" = "<<*p<<endl; | |
return 0; | |
} | |
//-------------------------------- | |
// 5 Задача : Палиндром или нет. | |
#include <iostream> | |
using namespace std; | |
int main() | |
{ | |
setlocale(LC_ALL, "Russian"); | |
srand(time(NULL)); | |
int n,revers=0,temp=0,kol_ch=0; //задаю тип числа-n, временной переменной-temp, кол.цифр в числе-kol_ch; | |
cout << "Введите число : "; cin >> n; // | |
int* p = &n;int orig = n; //Указатель на адрес числа n и копия оригинала числа n; | |
while (*p > 0) | |
{ revers = (temp * 10) + (*p % 10);*p /= 10;temp = revers;kol_ch++; } //В revers будет перевёрнутое число n; | |
for (int i = 0; i < kol_ch/2; i++) //Цикл на проверку условий совпадения крайних цифр orig и revers; | |
{ | |
if (revers % 10 != orig % 10) { | |
cout << "Число не является палиндромом " << endl;return 0; | |
revers /= 10;orig /= 10; | |
} | |
if (revers % 10 == orig % 10) { revers /= 10;orig /= 10; } | |
} | |
cout << "Число является палиндромом " << endl; | |
return 0; | |
} | |
//-------------------------------- |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment