ИНФОРМАТИКА НА С++ ДАЮ СТО БАЛЛОВ СРОЧНО РЕШИТЕ ХОТЯ БЫ ОДНУ ЗАДАЧУ С МАССИВОМ
1) вводится n до 10⁶ вывести номера максимального и минимального (первые) поменять максимальное и минимальное местами и вывести новый массив
2) вводится n до 10⁶ найти суму положительных чисел,номера отрицательных, количество чисел которые делятся на 2,(номера отрицательных вывести последними)
Answers & Comments
Ответ:
Объяснение:
1) задача
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n;
cin >> n;
vector <int> a(n);
for(int i = 0; i < a.size(); i++){
cin >> a[i];
}
int max = a[0],min = a[0];
int indexmax = 0, indexmin = 0;
for(int i = 0; i < a.size(); i++){
if(a[i] > max){
max = a[i];
indexmax = i;
}
if(a[i] < min){
min = a[i];
indexmin = i;
}
}
cout << indexmax << " " << indexmin << endl;
swap(a[indexmax], a[indexmin]);
for(int i = 0 ; i < a.size(); i++){
cout << a[i] << " ";
}
}
2) задача
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n,sum = 0,count = 0;
cin >> n;
vector <int> a(n);
vector <int> b;
for(int i = 0; i < a.size(); i++){
cin >> a[i];
}
for(int i = 0; i < a.size(); i++){
if(a[i] >= 0){
sum+=a[i];
}
else{
b.push_back(i);
}
if(a[i] % 2 == 0){
count++;
}
}
cout << sum << endl << count << endl;
for(int i = 0; i < b.size();i++){
cout << b[i] << " ";
}
}