Практикалық жұмыс тапсырма



Дата24.04.2023
өлшемі476,42 Kb.
#86176

7.1 Практикалық жұмыс

1 тапсырма
Ввести значение 2-х символьных переменных а и b. Направить два указателя на эти переменные. Затем поменять местами значения переменных а и b через их указатели.

#include


using namespace std;
int main()
{
int a, b,c;

cout << "vvedite 2 chisla: ";


cin >> a >> b;
cout << endl << "vhodyie znacheniya" << endl;
cout << "\t - znachenie peremennoy a: " << a << endl;
cout << "\t - znachenie peremennoy b: " << b << endl;

int *pa = &a;


int *pb = &b;
int *pc = &c;
*pc = a;
*pa = b;
*pb = c;
cout << endl << "vyhodyie znacheniya" << endl;
cout << "\t - znachenie peremennoy a: " << a << endl;
cout << "\t - znachenie peremennoy b: " << b << endl;
}

2 тапсырма
Описать 3 указателя на символьный тип. Выделить для них динамическую память. Ввести значения в выделенную память с клавиатуры. Поменять местами значения первых 2-х переменных а и b через их указатели
#include
using namespace std;
int main()
{
char *a = new char;
char *b = new char;
char *c = new char;

int i;
cout << "Vvedite znachenie a : ";


cin >> *a;
cout << endl;

cout << "Vvedite znachenie b : ";


cin >> *b;
cout << endl;

cout << "Vvedite znachenie c : ";


cin >> *c;
cout << endl;
i = *a;
*a = *b;
*b = i;
cout << "znachenie a: " << * a << endl;
cout << "znachenie b : " << * b << endl;
}


3 тапсырма
Создать динамические массивы, используя указатели. Задан одномерный массив а (n). Найти номер последнего положительного элемента и переставить его с первым элементом массива. Найти количество и сумму элементов отрицательных массива

#include


#include
#include
using namespace std;
int main() {
mt19937 f(time(0));
uniform_int_distribution<> uid(-100, 100);
long n,i, kol = 0, neg = 0, index;
cout << "vvedite n:\n";
cin >> n; cin.ignore();
cout <<"massiv do zameny:\n";
long* mas = new long[n];
for (long i = 0; i < n; i++) {
mas[i] = uid(f);
cout << "mas[" << i << "] = " << mas[i] << endl;
if (mas[i] > 0) neg += mas[i];
}
for(long i=0;iif(mas[i]<0) kol++;
}
for (index = n - 1; index >= 0; index--) {
if (mas[index] > 0)break;
}
swap(mas[0], mas[index]);
cout << "massiv posle zameny:\n";
for (long i = 0; i < n; i++) {
cout << "mas[" << i << "] = " << mas[i] << endl;
}
cout << "kolichestvo otritsatelnih chisel = " << kol << endl;
cout << "summa otritsatelnih chisel = " << neg << endl;
return 0;
}




4 тапсырма
Создать динамические массивы, используя указатели. Дан массив с (n) . Переписать в массив х (n) отрицательные элементы массива. (со сжатием., без пустых элементов внутри) Затем упорядочить методом «выбора и перестановки» по возрастанию новый массив
#include
#include
#include
using namespace std;
int main()
{
srand((int)time(0));
int n, k=0, m=0;
cout <<"vvedite n: "; cin >>n;
double*c = new double[n];
for (int i = 0; i < n; i++)
{
c[i]=rand()%21 -10;
if (c[i]<0) k++;
cout <}
double*x = new double[k];
for (int i = 0; i < n; i++)
if (c[i]<0) x[m++]=pow(c[i],2);
cout <<"\nelementy massiva do sortirovki\n";
for (int i = 0; i < m; i++)
cout <for(int i = 0; i < k; ++i)
{
int pos = i;
double tmp = x[i];
for(int j = i + 1; j > k; ++j)
if (x[j] > tmp) {pos = j;tmp = x[j];}
x[pos] = x[i];
x[i] = tmp;
}
cout <<"\nelementy massiva posle sortirovki\n";
for (int i = 0; i < m; i++)
cout <cout <return 0;
}


Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет