В массиве В размером 7, заполненном с клавиатуры различными числами найти минимальный элемент и его адрес. Найти сумму отрицательных четных элементов. С#
cout << "Введите количество оценок по информатике" <<endl;
cin >> GradesInformatics;
cout << "Введите количество оценок по физике" << endl;
cin>> GradesPhysikc;
int* Informatics = new int[GradesInformatics];
int* Physicks = new int[GradesPhysikc];
int Tmp = 0;
cout << "Введите оценки по информатике" <<endl;
for (int i = 0; i < GradesInformatics; ++i) {
cin >> Informatics[i];
}
cout << "Введите оценки по Физике" <<endl;
for (int i = 0; i < GradesPhysikc; ++i) {
cin >> Physicks[i];
}
for (int i = 0; i < GradesInformatics + GradesPhysikc; ++i) {
Tmp = Tmp + Informatics[i] + Physicks[i];
}
if (Tmp > 8) {
cout << "Молодец " << endl;
}
else {
cout << "Постарайся " << endl;
}
delete[] Informatics;
delete[] Physicks;
}
Объяснение:
Код на с++
Так как в задании не указано,сколько всего оценок может быть,то спрашиваем это в рантайме у пользователя. Затем получаем эти оценки при двух циклов for. Потом складываем всё,что получилось в tmp и выводим ответ
1) Если изначальный массив НЕ дан, т.е необходимо его заполнить случайными числами
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void GetMaxAndMinIndex(int* data,int* MaxIndex,int* MinIndex) {
for (int i = 0; i < 200; ++i) {
if (data[i] > data[i + 1]) {
*MaxIndex = i;
}
if (data[i] < data[i + 1]) {
*MinIndex = i;
}
}
}
void SearchSrAr(int* data,int* MaxIndex,int* MinIndex) {
int tmpI = 0;
int TmpNum = 0;
for (int i = *MinIndex; i < *MaxIndex; ++i) {
TmpNum = TmpNum + data[i];
tmpI++;
}
double output = TmpNum / tmpI;
cout <<"Ваше число "<< output;
}
int main() {
setlocale(LC_ALL, "Russian");
int* data = new int[200];
int MaxIndex = 0, MinIndex = 100;
srand(time(NULL));
for (int i = 0; i < 200;++i) {
data[i] = rand() % 100;
}
GetMaxAndMinIndex(data, &MaxIndex, &MinIndex);
SearchSrAr(data, &MaxIndex, &MinIndex);
delete[] data;
}
И если этот массив и его размер нам известны
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
void GetMaxAndMinIndex(int* data,int* MaxIndex,int * n,int* MinIndex) {
for (int i = 0; i < *n; ++i) {
if (data[i] > data[i + 1]) {
*MaxIndex = i;
}
if (data[i] < data[i + 1]) {
*MinIndex = i;
}
}
}
void SearchSrAr(int* data,int* MaxIndex,int* MinIndex) {
int tmpI = 0;
int TmpNum = 0;
for (int i = *MinIndex; i < *MaxIndex; ++i) {
TmpNum = TmpNum + data[i];
tmpI++;
}
double output = TmpNum / tmpI;
cout <<"Ваше число "<< output;
}
int main() {
setlocale(LC_ALL, "Russian");
int n;
cout << "Введите количество чисел в массиве " << endl;
cin >> n;
int* data = new int[n];
int MaxIndex = 0, MinIndex = 100;
cout << "Введите ваш массив " << endl;
for (int i = 0; i < n; ++i) {
cin >> data[i];
}
GetMaxAndMinIndex(data, &MaxIndex,&n, &MinIndex);
SearchSrAr(data, &MaxIndex, &MinIndex);
delete[] data;
}
Объяснение:
Код на с++
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int GradesInformatics, GradesPhysikc;
cout << "Введите количество оценок по информатике" <<endl;
cin >> GradesInformatics;
cout << "Введите количество оценок по физике" << endl;
cin>> GradesPhysikc;
int* Informatics = new int[GradesInformatics];
int* Physicks = new int[GradesPhysikc];
int Tmp = 0;
cout << "Введите оценки по информатике" <<endl;
for (int i = 0; i < GradesInformatics; ++i) {
cin >> Informatics[i];
}
cout << "Введите оценки по Физике" <<endl;
for (int i = 0; i < GradesPhysikc; ++i) {
cin >> Physicks[i];
}
for (int i = 0; i < GradesInformatics + GradesPhysikc; ++i) {
Tmp = Tmp + Informatics[i] + Physicks[i];
}
if (Tmp > 8) {
cout << "Молодец " << endl;
}
else {
cout << "Постарайся " << endl;
}
delete[] Informatics;
delete[] Physicks;
}
Объяснение:
Код на с++
Так как в задании не указано,сколько всего оценок может быть,то спрашиваем это в рантайме у пользователя. Затем получаем эти оценки при двух циклов for. Потом складываем всё,что получилось в tmp и выводим ответ