#include <iostream>using std::cout;using std::endl;
void move(int*, const int);void print(const int*, const int);
int main(){ const int arraySize = 10; int a[arraySize] = { 4, 7, 3, 9, 2, 1, 8, 6, 5, 10 };
cout << "Array before modify:" << endl; print(a, arraySize);
move(a, arraySize);
cout << "\nArray after modify:" << endl; print(a, arraySize);
return 0;}
void print(const int *a, const int size){ for(int i = 0; i < size; i++) { cout << a[i] << ' '; }
cout << endl;}
void move(int *a, const int size){ int smallest = 0; int largest = 0; int temp;
for(int i = 1; i < size; i++) { if(a[smallest] > a[i]) { smallest = i; }
if(a[largest] < a[i]) { largest = i; } }
temp = a[smallest]; a[smallest] = a[largest]; a[largest] = temp;}
var
s: string[6];
n: integer;
begin
s := 'отлично';
n := length(s);
writeln(length('отлично'));
writeln(n);
end.
Изначально выставлен тип string[6], значит если присвоить строку больше, то ее обрежет по 6 символов, вот и весь прикол
ответ 6
2) рисунок
3)var
s, s1: string;
n: integer;
begin
s := 'информатика';
s1 := copy(s, 3, 5);
n := pos(s, s1);
writeln('s=', s);
writeln('s1=', s1);
writeln('n=', n);
end.
Вывод
s=информатика
s1=форма
n=0
Все верно, в s1 не содержится s, а наоборот
#include <iostream>
using std::cout;
using std::endl;
void move(int*, const int);
void print(const int*, const int);
int main()
{
const int arraySize = 10;
int a[arraySize] = { 4, 7, 3, 9, 2, 1, 8, 6, 5, 10 };
cout << "Array before modify:" << endl;
print(a, arraySize);
move(a, arraySize);
cout << "\nArray after modify:" << endl;
print(a, arraySize);
return 0;
}
void print(const int *a, const int size)
{
for(int i = 0; i < size; i++)
{
cout << a[i] << ' ';
}
cout << endl;
}
void move(int *a, const int size)
{
int smallest = 0;
int largest = 0;
int temp;
for(int i = 1; i < size; i++)
{
if(a[smallest] > a[i])
{
smallest = i;
}
if(a[largest] < a[i])
{
largest = i;
}
}
temp = a[smallest];
a[smallest] = a[largest];
a[largest] = temp;
}