#include <stdlib.h>
#include <malloc.h>
void print_array(int* numbers,int count)// Функция для вывода элементов массива
{
for(int i = 0;i<count;i++)
{
printf("%d ",numbers[i]);
}
printf("\n");
}
void rechange(int *first_array,int *second_array,int count)// Функция для перезаписи одного массива в другой.
//Элементы первого массива запишутся во второй в обратном порядке.
{
int x = count - 1;
for(int i = 0;i<count;i++)
{
second_array[x--] = first_array[i];
}
}
int main(int argc, char** argv) {
const int ARRAY_ELEMENTS_COUNT = 15;
int *first_array = (int*)malloc(sizeof(first_array) * ARRAY_ELEMENTS_COUNT); // Выделить память для первого массива
int *second_array = (int*)malloc(sizeof(second_array) * ARRAY_ELEMENTS_COUNT); //Выделить память для второго массива
for(int i = 0;i<ARRAY_ELEMENTS_COUNT;i++) // Заполняем массивы значениями
{
first_array[i] = std::rand() % 100 + 1;
second_array[i] = std::rand() % 100 + 1;
}
print_array(first_array,ARRAY_ELEMENTS_COUNT); // Выводим первый массив
print_array(second_array,ARRAY_ELEMENTS_COUNT); // Выводим второй массив
rechange(first_array,second_array,ARRAY_ELEMENTS_COUNT);
print_array(second_array,ARRAY_ELEMENTS_COUNT); // Выводим второй массив
//в который записаны элементы первого массива в обратном порядке
free(first_array); // Очищаем память
free(second_array); // Очищаем память
return 0;
}
1) a x b = 1 при a=1 возможно (если b=1)
2) a x b = 1 при а=0 противоречиво, результат 0
3) a + b = 0 при a=1 противоречиво, результат 1
4) a + b = 1 при a=0 возможно (если b=1)
Объяснение:
В примере a) работает цикл for i:=1 to 8 do b[i]:=a[i]+5;
Запись for i:=1 to 8 do означает - Для i от 1 до 8 выполнить следующую команду
Рассмотрим команду b[i]:=a[i]+5
a[i] - это элемент в массиве с номером i. a[1] - это первый элемент массива a (у нас это 2), a[2] - второй элемент массива a (у нас это -1) и так далее.
b[i] - тоже самое, только массив b
Команда b[i] := a[i] + 5 означает, что мы берем элемент массива a[i], затем прибавляем к нему 5 и сохраняем в элемент массива b[i].
В примере б) тоже самое, только к элементу мы не прибавляем 5, а умножаем этот элемент на 2
Теперь ответ:
a) b[i]: 6, 7, 8, 9, 10, 11, 12, 13
б) b[i]: 2, 4, 6, 8, 10, 12, 14, 16
<span>если на C++, то вот процедуры:
если с помощью библиотеки graphics.h
x и y нужно передавать левого верхнего угла буквы
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
int x=50,y=50;
void M(int x,int y)
{ // длина буквы 44, высота тоже 44
x+=50;
line(x,y,x,y+44);
line(x,y,x+22,y+44);
line(x+22,y+44,x+44,y);
line(x+22,y+44,x+44,y+44);
}
void I(int x,int y)
{ // длина буквы 22, высота тоже 44
x+=28;
line(x,y,x,y+44);
line(x,y+44,x+22,y);
line(x+22,y,x+22,y+44);
}
void R(int x,int y)
{ // длина буквы 22, высота тоже 44
x+=28;
line(x,y,x,y+44);
line(x,y,x+22,y);
line(x,y+22,x+22,y+22);
line(x+22,y,x+22,y+22);
}
main()
{
initwindow(800,600);
M(x,y); I(x,y); R(x,y);
x=50;y=100;
R(x,y); I(x,y); M(x,y);
x=50;y=150;
M(x,y); I(x,y); M(x,y);
getch();
closegraph();
}
P.S. я старался</span>