• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Массивы

  • Автор темы Автор темы bulding
  • Дата начала Дата начала

bulding

Новые
Регистрация
10 Дек 2012
Сообщения
26
Реакции
0
Баллы
0
Массивы

Ребят помогите написать эту программу.Мне скоро нужно сдавать лабы ,а я еще начинающий.
1.Заданы 2целочисленных массива X(n) и Z(k).В каждом массиве найти максимальный элемент массива,и если это простое число удалить все элементы,равные максимальному значению.Определить среднее арифметическое положительных элементов массива после удаления.
Буду очень благодарен,уважаемые программисты.
 
Право не знаю, как другие, но я лично устал каждого второго лоботряса тыкать носом в необходимость указывать язык программирования в подобных запросах. Так что я, как программист, устраняюсь от оказания "помощи" в данном случае. Остальных, естественно, не ограничиваю.
 
:telepat: Язык программирования !

Раз язык не указан могу предположить:
#include <stdio.h>
#include <iostream>
using namespace std;

// Прототипы функций
int is_prime_number(int number);
int max_element(int *arr, int number);
void fullfill_array(int *arr, int number);
// Два варианта среднего арифметического: с исключением
// максимального значения и без него
int arithmetic_mean(int *arr, int number, int max);
int arithmetic_mean(int *arr, int number);
// Главная функция
int main(void)
{
// Объявляем переменные
int *fstarr, *sndarr, result;
int fstn, sndn, i, maxfst, maxsnd, count;

// Формируем и заполняем первый массив
cout << "Количество элементов в первом массиве = ";
cin >> fstn;
fstarr = new int[fstn];
fullfill_array(fstarr, fstn);
// Формируем и заполняем второй массив
cout << "Количество элементов во втором массиве = ";
cin >> sndn;
sndarr = new int[sndn];
fullfill_array(sndarr, sndn);

// Ищем максимальный элемент первого массива
maxfst = max_element(fstarr, fstn);
// В зависимости от того является ли максимальное
// значение простым числом, выводим результат
if(is_prime_number(fstarr[maxfst]))
{
// Максимальное значение является простым числом
cout << "Среднее арифметическое первого массива = "
<< arithmetic_mean(fstarr, fstn, fstarr[maxfst])
<< endl;
}
else
{
// Максимальное значение не является простым числом
cout << "Среднее арифметическое первого массива = "
<< arithmetic_mean(fstarr, fstn)
<< endl;
}
// Ищем максимальный элемент второго массива
maxsnd = max_element(sndarr, sndn);
// В зависимости от того является ли максимальное
// значение простым числом, выводим результат
if(is_prime_number(sndarr[maxsnd]))
{
// Максимальное значение является простым числом
cout << "Среднее арифметическое первого массива = "
<< arithmetic_mean(sndarr, sndn, sndarr[maxsnd])
<< endl;
}
else
{
// Максимальное значение не является простым числом
cout << "Среднее арифметическое первого массива = "
<< arithmetic_mean(fstarr, fstn)
<< endl;
}

// Освобождаем динамически выделенную память
delete [] fstarr;
delete [] sndarr;

// Остановка перед закрытием окна
system("PAUSE");
return 0;
}
// Является ли число простым
int is_prime_number(int number)
{
int i = 0;
if(number <= 2) return 1;
for(i = 2; i < number; i++)
{
if(!(number % i)) return 0;
}
return 1;
}
// Заполняем элементы массива
void fullfill_array(int *arr, int number)
{
int i;
for(i = 0; i < number; i++)
{
cout << "MASSIV X/" << i + 1 << " = ";
cin >> arr;
}
}
// Ищем максимальный элемент массива
int max_element(int *arr, int number)
{
int max = arr[0];
int Nmax = 0, i = 0;
for(i = 0; i < number; i++)
{
if(max < arr)
{
max = arr;
Nmax = i;
}
}
return Nmax;
}
// Среднее арифметическое положительных чисел
int arithmetic_mean(int *arr, int number, int max)
{
int result = 0;
int count = 0, i = 0;
for(i = 0; i < number; i++)
{
if(arr > 0 && max != arr)
{
result += arr;
count++;
}
}
if(count) return result / count;
else return 0;
}
// Среднее арифметическое положительных чисел
int arithmetic_mean(int *arr, int number)
{
int result = 0;
int count = 0, i = 0;
for(i = 0; i < number; i++)
{
if(arr > 0)
{
result += arr;
count++;
}
}
if(count) return result / count;
else return 0;
}
 
Назад
Сверху