Контрольная работа по информатике (9 класс)
Задача № 1
Напишите компьютерную программу на Паскале,
которая создает массив из 10 элементов, тип массива -
целочисленный (integer). Далее, программа дает
возможность пользователю, вручную, с клавиатуры, в цикле
заполнить положительными и отрицательными значениями
все элементы массива. Гарантируется, что положительные и
отрицательные значения будут присутствовать в элементах
массива после заполнения. Потом программа в цикле
производит изменения в массиве: находит все элементы
массива, значение которых больше нуля, и присваивает
этим элементам значение 17
подключив предварительно библиотеку <vector>
int x[5][5];
for(int i = 0; i < 5; i++){
for(int j = 0; i<5; j++){
x[i][j] = rand()%20 - 10;
}
}
vec<int> vec;
for(int i = 0; i < 5; i++){
for(int j =0; j < 5; j++){
if(x[i][j] < 0){
for(int f = 0; f < vec.size(); f++){
if(vec(f) == x[i][j]) break;
}
else { vec.push_back(j); }
}
}
}
}
if(vec == 0) cout << "Нет столбцов с отрицательным значением";
else{ for(int j = 0, j<vec.size(); j++){
cout << vec(j) << ' ';
}
N = int(input('Введите число N'))
sum = 0
add = 2
k = 0
while sum < =N:
sum += add
add += 2
k += 1
print(k)
Объяснение:
У меня реализация попроще, чем в предыдущем ответе, но вроде бы тоже правильная :)
Мы видим, что к сумме постоянно прибавляется число, на 2 большее, чем предыдущее, начиная с двух. Это и есть переменная add: изначально она равна 2, то есть на первом проходе цикла к сумме прибавится 2. После этого, в этом же цикле значение переменной add станет равно 4 (7-я строка), поэтому на втором проходе к сумме прибавится 4, и так далее. В итоге получаем правильную сумму: 2 + 4 + 6 + ...
Переменная k - это как раз искомое количество слагаемых этой суммы. Каждый раз, когда к сумме прибавляется новое слагаемое, она увеличивается на 1.