Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 10.12.2012, 01:14   #1 (permalink)
bulding
Member
 
Регистрация: 10.12.2012
Сообщений: 26
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile Массивы

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

Старый 10.12.2012, 01:14
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Перейдите по этим ссылкам, может быть там есть важная для вас информация

Массивы
Массивы

Старый 10.12.2012, 09:46   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Право не знаю, как другие, но я лично устал каждого второго лоботряса тыкать носом в необходимость указывать язык программирования в подобных запросах. Так что я, как программист, устраняюсь от оказания "помощи" в данном случае. Остальных, естественно, не ограничиваю.
Vladimir_S вне форума   Ответить с цитированием
Старый 10.12.2012, 12:55   #3 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

Язык программирования !

Раз язык не указан могу предположить:
Цитата:
#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[i];
}
}
// Ищем максимальный элемент массива
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[i])
{
max = arr[i];
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[i] > 0 && max != arr[i])
{
result += arr[i];
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[i] > 0)
{
result += arr[i];
count++;
}
}
if(count) return result / count;
else return 0;
}
Gruvi вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 16:45.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.