#include <iostream>
#include <ctime>
using namespace std;
int randInt(int min, int max){
return min + (rand() % (max - min + 1));
}
int main(int argc, char *argv[]){
const int SIZE = 10;
int a[SIZE];
srand(time(0));
for (int i = 0; i < SIZE; i++) {
a[i] = randInt(-10, 10);
cout << a[i] << ' ';
}
cout << endl;
cout << endl;
for (int i = 0; i < SIZE; i++) {
if (a[i] % 2 != 0)
cout << a[i] << ' ';
}
cout << endl;
for (int i = 0; i < SIZE; i++) {
if (a[i] % 2 == 0)
cout << a[i] << ' ';
}
cout << endl;
system("pause");
return 0;
}
Условие: (x % 4 == 0 and x % 100 != 0) or x % 400 == 0
Рассмотрим скобку x % 4 == 0 and x % 100 != 0:
x % 4 == 0 — число делится на 4 без остатка, т.е. кратно 4-мx % 100 != 0 — число не делится на 100 без остатка, т.е. не кратно 100and говорит о том, что обязательно должны выполняться оба этих условия: число должно быть кратно 4-м И не кратно 100
Вторая часть условия:
x % 400 == 0 — число делится на 400 без остатка, т.е. кратно 400or говорит о том, что либо выполняется условие в скобке, либо то, которое идет после or:
число должно быть кратно 4-м И не кратно 100, ИЛИ число должно быть кратно 400
Пример чисел, которые удовлетворяют условию:
0
4
8
12
128
400
1600
Например, 200 не подойдет:
200 % 4 == 0 — да
200 % 100 != 0 — нет
200 % 400 == 0 — нет
(да И нет) ИЛИ нет = нет ИЛИ нет = нет
Поделитесь своими знаниями, ответьте на вопрос:
Изменить массив : дан одномерный целочисленный массив mas. поменять местами два элемента массива с номерами k1 и k2, если оба этих элемента чётны. иначе – запросить у пользователя индекс ещё одного элемента k 3 и поменять его местами с первым элементом массива.вывести на экран итоговый массив в строку. массив: program pr1; var i, n, k1, k2, r : integer; mas: array[1..100]of integer; begin writeln ('введите число элементов массива (n< 100)'); readln (n); for i: =1 to n do begin write ('введите ', i, ' элемент массива '); readln (mas[i]); end; write ('введите номера элементов, которые необходимо поменять местами: '); readln (k1, k2); writeln ('исходный массив: '); for i: =1 to n do write(mas[i], ' '); writeln; r: =mas[k1]; mas[k1] : = mas[k2]; mas[k2] : = r; writeln ('итоговый массив: '); for i : = 1 to n do write (mas[i], ' '); end.
Var i, N, k1, k2, k3, R : integer;
mas: array[1..100]of integer;
Begin
Writeln ('Введите число элементов массива (N<100)');
Readln (N);
For i:=1 to N do begin
Write ('Введите ', i, ' элемент массива ');
Readln (mas[i]);
end;
Write ('Введите номера элементов, которые необходимо поменять местами: ');
Readln (k1, k2);
Writeln ('Исходный массив: ');
For i:=1 to N do write(mas[i], ' ');
writeln;
if (mas[k1] mod 2=0)and(mas[k2] mod 2=0) then
begin
R:=mas[k1]; mas[k1] := mas[k2]; mas[k2] := R;
end
else
begin
write('Введите ещё один номер: ');
readln(k3);
R:=mas[k3]; mas[k3] := mas[1]; mas[1] := R;
end;
Writeln ('Итоговый массив: ');
for i := 1 to N do Write (mas[i], ' ');
End.
Пример:
Введите число элементов массива (N<100)
5
Введите 1 элемент массива 12
Введите 2 элемент массива 84
Введите 3 элемент массива 37
Введите 4 элемент массива 59
Введите 5 элемент массива 20
Введите номера элементов, которые необходимо поменять местами: 2 4
Исходный массив: 12 84 37 59 20
Введите ещё один номер: 5
Итоговый массив: 20 84 37 59 12