Уисполнителя есть две команды, которым присвоены номера: 1)прибавить 1 2)прибавить 2 первая команда увеличивает число на экране на 1, вторая увеличивает его на 2. сколько существует программ, которые преобразуют исходное число 3 в число 20 и при этом траектория вычислений содержит число 9 и не содержит числа 15
#include <iostream>
using namespace std;
int main() {
int s = 0;
for(int i = 1; i < 101; cout << i << ' ', s+=i, i+=2);
cout << endl << s << endl;
}
2)
#include <iostream>
using namespace std;
int main() {
int n, k = 0;
cin >> n;
for(int i = 0; i < n; i++) {
int number;
cin >> number;
if(number % 2 == 0) k++;
else k--;
}
if(k > 0) cout << "Четных" << endl;
else if (k < 0) cout << "Нечетных" << endl;
else cout << "Одинаково" << endl;
}
3)
#include <iostream>
using namespace std;
int main() {
for(int i = 20; i < 51; i++)
if(i % 3 == 0 && i % 5 != 0) cout << i << endl;
}
4)
#include <iostream>
using namespace std;
int main() {
for(int i = 35; i < 88; i++)
if(i % 7 == 1 || i & 7 == 2 || i % 7 == 5) cout << i << endl;
}
Ошибка 1. Объявлен массив с типом данных значений string, хотя нужно заполнять массив целыми числами, а потом находить их сумму. Необходимо заменить тип string на integer.
Ошибка 2. Цикл не выполнится ни один раз, т.к. неправильно задан параметр. Необходимо либо написать конструкцию так: For i:=n downto 1 do , либо For i:=1 to n do .
Исправленный код:
Program summa;
Var a: array[1..100] of integer;
i, n: integer;
s: integer;
Begin
Write ('n='); Readln (n);
For i:=1 to n do
begin
write ('введите число');
readln (a[i]);
s:=s+a[i];
end;
writeln('сумма элементов равна ',s);
End.