#include <iostream>
using namespace std;
int main() {
int min, max, a, b;
min = max = a = b = 0;
cout << "Enter min and max" << "\n" ;
cin >> min >> max;
if(min > max ){
cout << "Error 1";
return 0;
}
else if( min == max){
cout << "Error 2" << "\n";
return 0;
} else {
a = min + 1;
b = max - 1;
if(a >= b ){
cout << "Error 3" << "\n";
return 0;
}
else if(a == b) {
cout << "Error 4" << "\n";
return 0;
}
else {
cout << "Print range: " << "\n";
while(a <= b){
cout << a << "\n";
a++;
}
}
}
return 0;
}
#include <iostream>
using namespace std;
void main()
{
setlocale(0, "");
int a[5], m1=INT_MAX, m2=INT_MIN, i=5;
for (int i = 0; i < 5; i++)
{
cin >> a[i];
if (a[i] % 2 != 0 && a[i] > m2) m2 = a[i];
if (a[i] % 2 != 0 && a[i] < m1) m1 = a[i];
}
if (m2 < INT_MIN) m2 = 0;
for (int i = 0; i < 5; i++)
{
if (a[i] % 2 == 0 && a[i] > m2&& a[i] < m1) a[i] -= m1;
}
cout << a[i];
cin.get(); cin.get();
}
1. Подскажите пожалуйста, что я не так сделал. Программа должна сделать следующее условие: Необходимо найти минимальный m1 и максимальный m2 нечётные элементы (если в массиве нет нечётных элементов, m1 и m2 считаются равными нулю), уменьшить все чётные элементы, значения которых попадают в интервал (m1; m2), на величину m1 и вывести изменённый массив. Например, для исходного массива из пяти элементов 30, 89, 27, 90, 68 программа должна вывести числа 3, 89, 27, 90, 41 (минимум и максимум равны 27 и 89, все чётные элементы из интервала (27; 89) уменьшены на 27).
Код:#include <iostream> using namespace std; void main() { setlocale(0, ""); int a[5], m1=INT_MAX, m2=INT_MIN, i=5; for (int i = 0; i < 5; i++) { cin >> a[i]; if (a[i] % 2 != 0 && a[i] > m2) m2 = a[i]; if (a[i] % 2 != 0 && a[i] < m1) m1 = a[i]; } if (m2 < INT_MIN) m2 = 0; for (int i = 0; i < 5; i++) { if (a[i] % 2 == 0 && a[i] > m2&& a[i] < m1) a[i] -= m1; } cout << a[i]; cin.get(); cin.get(); }
#include <iostream>
using namespace std;
int main()
{
int a[5], m1 = 0, m2 = 0;
for (int i = 0; i < 5; i++) {
cin >> a[i];
if (a[i] % 2 != 0 && m2 == 0)
m2 = a[i];
if (a[i] % 2 != 0 && a[i] > m1)
m1 = a[i];
if (a[i] % 2 != 0 && a[i] < m2)
m2 = a[i];
}
for (int i = 0; i < 5; i++) {
if (a[i] % 2 == 0 && a[i] > m2 && a[i] < m1)
a[i] -= m2;
if (i == 4)
cout << a[i];
else
cout << a[i] << ", ";
}
}
Поясни пожалуйста все изменения, которые ты сделал. Особо не понятна вот эта строка:C++:#include <iostream> using namespace std; int main() { int a[5], m1 = 0, m2 = 0; for (int i = 0; i < 5; i++) { cin >> a[i]; if (a[i] % 2 != 0 && m2 == 0) m2 = a[i]; if (a[i] % 2 != 0 && a[i] > m1) m1 = a[i]; if (a[i] % 2 != 0 && a[i] < m2) m2 = a[i]; } for (int i = 0; i < 5; i++) { if (a[i] % 2 == 0 && a[i] > m2 && a[i] < m1) a[i] -= m2; if (i == 4) cout << a[i]; else cout << a[i] << ", "; } }
if (i == 4)
cout << a[i];
else
cout << a[i] << ", ";
Если в обработке находится последний пятый элемент массива, просто выводим его, а если нет, добавляем после элемента запятую.Поясни пожалуйста что делают эти строки
Код:if (i == 4) cout << a[i]; else cout << a[i] << ", ";
Это не нужно, так как переменная i автоматически объявляется при воспроизведении каждого из циклов.ты убрал из переменных i=5?
посмотри какие библиотеки ему нужны и либо таскай их с exe, либо линкуй статикойЗдравствуйте, подскажите пожалуйста, как я могу экспортировать чёртов EXE из Visual Basic?
Проводил отладку в режиме RELEASE и DEBUG, но как только я вытаскиваю сам EXE из папки (где все сурсы трейнера) он перестает запускаться.
Далее я его эскпортировал через публикацию, тоже самое, стоит вытащить из папки, - он не работает.