37-43 вопрос
.docx37) Функции сравнения строк.
Пример 1:
{char s1[]=”строчка”;
Char s2[]=”строчка”;
Cout<<”s1==s1->”<<setw(2)<<strcmp(s1,s1)<<endl;
Cout<<”s1<s2->”<<setw(2)<<strcmp(s1,s2)<<endl;
Cout<<”s2>s1->”<<setw(2)<<strcmp(s2,s1)<<endl;
System (“pause”);
Return 0;
38) функция конкатенации строк.
Конкатенация- Объединение строк.
{char str[100];
Strcpy(str,”эти”);
Strcpy (str,”строки”);
Strcpy (str,”объединены”);
Cout<<str<<endl;
Char *s1,*s2;
Char *strcat(s1,s2) //присоединяет к строке s1 строку s2
Char *s1,*s2;
Int n;
Char *strcat(s1,s2,n); // присоединяет n-символов строки s2 к строке s1.
39)Указатели. Инициализация. Операции с указателями.
Указатель -являются объектом(переменной), хранящей адресс другого объекта.
Для обращению к объекту, используется оператор *, называемый разыменованием.
Пример :
{int *c; int d;
d=45;
c=&d;
cout<<”адрес :”<<c<<endl;
cout<<”значение по адресу С:”<<*c<<endl;
cout<<”значение d:”<<d<<endl;
40) Указатели на массивы.
Int v[]={1,2,3,4}; int *p1=v;
Int *p2=&v[0]; //указатель на первый элемент
Int *p3=&v[4]; //указатель на элемент следующий за последним
41)Передача массивов в качестве параметров в функцию. Привести пример передачи массива вещественных чисел в функцию, вычисляющую сумму его элементов.
#include “stdaf.h”
#include <iostream>
Using namespace std;
Double summa (double array [], int n)
{
Double s=0;
For(int i=0;i<n;i++)
S+-array [i];
Return 0;
}
Int main(void);
{
Double v[10]={1,2,3,4,5,6};
Cout<<summa(v,10)<<endl;// весь массив
Cout<<summa(v+5,5)<< endl; //последние 5 эл
42) Статическое и динамическое выделение памяти. Операторы new и delete.
Оператор new- выделяет память, для размещения новых данных.
A=new float[n];
Оператор delete []; //очищает память матрицы.
43) Статические и динамические массивы: объявление, инициализация, использование. Привести примеры создания и обработки статического и динамического массивов на языке С/C++.
Статический:
{double mas [100], k=0;
Int n;
Cout<<”vvedite koll ellementov”;
Cin>>n;
Cout<<”vvedite massiv”;
For(int i=0;i<n;i++)
Cin>>mas[i];
For(int i=0;i<n;i++)
If(mas[i]<0)
K=k+mas[i];
Cout<<”cymma отрицательных эл”<<k<<endl;
Динамический:
{
setlocale(LC_ALL, "");
double *mas, k = 0;
int n;
cout << "Введите количество элементов массива: ";
cin >> n;
mas = new double[n];
cout << "Введите массив: ";
for (int i = 0; i < n; i++)
cin >> mas[i];
for (int i = 0; i < n; i++)
if (mas[i] < 0)
k = k + mas[i];
cout << "Сумма отрицательных элементов: " << k << endl;