a) for i:=1 to 8 do a[i]:=i*5 - элемент равен значению индекса элемента (i) умноженного на 5
i = 1
a[1] = 1 * 5 = 5
i = 2
a[2] = 2 * 5 = 10
i = 3
a[3] = 3 * 5 = 15
i = 4
a[4] = 4 * 5 = 20
i = 5
a[5] = 5 * 5 = 25
i = 6
a[6] = 6 * 5 = 30
i = 7
a[7] = 7 * 5 = 35
i = 8
a[8] = 8 * 5 = 40
б) for i:=1 to 8 do if i mod 2=0 then a[i]:=i else a[i]:=i-2 - если индекс элемента чётный, то элемент равен своему индексу, иначе (индекс элемента нечётный) элемент равен индекс минус 2
/*Дан массив X(N,M) .Найти среднее арифметическое тех строк массива, первый элемент которых положительный*/#include <iostream>#include <time.h>#define M 5#define N 5using namespace std; void printArray(int *mas, int n,int m)//инициализация и вывод массива { srand(time(0)); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { *mas = rand() % 21-10; cout << *mas << "\t"; mas++; } cout << endl; }}
void srArray(int mas[][M], int n)//нахождение и подсчет тех строк, где первый элемент положительный{ int a; double sum = 0; for (int i = 0; i < n; i++) { double sr = 1; if (mas[i][0] > 0) { for (int j = 0; j < M; j++) { sum += mas[i][j]; } sr = sum / M; cout << "Ср элеменитов " << i + 1 << "-й строки = " << sr << endl; } else ; } }
void main()//основная функция{ setlocale(LC_ALL, "rus"); int x[N][M]; printArray(&x[0][0], N, M); cout << endl; cout << ""<<endl; srArray(x, N); system("pause");}
a)
1. 5
2. 10
3. 15
4. 20
5. 25
6. 30
7. 35
8. 40
б)
1. -1
2. 2
3. 1
4. 4
5. 3
6. 6
7. 5
8. 8
Объяснение:
a) for i:=1 to 8 do a[i]:=i*5 - элемент равен значению индекса элемента (i) умноженного на 5
i = 1
a[1] = 1 * 5 = 5
i = 2
a[2] = 2 * 5 = 10
i = 3
a[3] = 3 * 5 = 15
i = 4
a[4] = 4 * 5 = 20
i = 5
a[5] = 5 * 5 = 25
i = 6
a[6] = 6 * 5 = 30
i = 7
a[7] = 7 * 5 = 35
i = 8
a[8] = 8 * 5 = 40
б) for i:=1 to 8 do if i mod 2=0 then a[i]:=i else a[i]:=i-2 - если индекс элемента чётный, то элемент равен своему индексу, иначе (индекс элемента нечётный) элемент равен индекс минус 2
i = 1
1 mod 2 = 0 (НЕТ)
a[1] = 1 - 2 = -1
i = 2
2 mod 2 = 0 (ДА)
a[2] = 2
i = 3
3 mod 2 = 0 (НЕТ)
a[3] = 3 - 2 = 1
i = 4
4 mod 2 = 0 (ДА)
a[4] = 4
i = 5
5 mod 2 = 0 (НЕТ)
a[5] = 5 - 2 = 3
i = 6
6 mod 2 = 0 (ДА)
a[6] = 6
i = 7
7 mod 2 = 0 (НЕТ)
a[7] = 7 - 2 = 5
i = 8
8 mod 2 = 0 (ДА)
a[8] = 8
void printArray(int *mas, int n,int m)//инициализация и вывод массива { srand(time(0)); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { *mas = rand() % 21-10; cout << *mas << "\t"; mas++; } cout << endl; }}
void srArray(int mas[][M], int n)//нахождение и подсчет тех строк, где первый элемент положительный{ int a; double sum = 0; for (int i = 0; i < n; i++) { double sr = 1; if (mas[i][0] > 0) { for (int j = 0; j < M; j++) { sum += mas[i][j]; } sr = sum / M; cout << "Ср элеменитов " << i + 1 << "-й строки = " << sr << endl; } else ; }
}
void main()//основная функция{ setlocale(LC_ALL, "rus"); int x[N][M]; printArray(&x[0][0], N, M); cout << endl; cout << ""<<endl; srArray(x, N); system("pause");}