Высший разум
(1263700)
8 лет назад
Вся надежда на экстрасенсов. Будем дальше гадать какой язык.. .
program x;
var
i, p: integer;
a: array [1..10] of integer;
begin
p := 1;
for i := 1 to 10 do
begin
Write(‘a[‘, i, ‘] = ‘);
ReadLn(a[i]);
if a[i] < 0 then
p := p * a[i];
end;
for i := 1 to 10 do
Write(a[i], ‘ ‘);
WriteLn;
WriteLn(‘Proizvedenie = ‘, p);
ReadLn;
end.
paperrose
Гуру
(4541)
8 лет назад
long mul = 1;
cout << “array elements:” << endl;
for (int i = 0; i < N; i++) {
if (arr[N] < 0) mul*=arr[N];
cout << arr[i] << “t”;
}
cout << endl << endl << “multiplication:” << endl << mul << endl;
Lance Spencer
Мыслитель
(7859)
8 лет назад
1) создаешь переменную в которой будет лежать произведение, кладешь туда 1
2) перебираешь элементы массива, внутри перебора проверяешь элемент меньше ли он нуля, если меньше – умножаешь переменную (см. выше) на этот элемент
0 / 0 / 0 Регистрация: 19.03.2015 Сообщений: 11 |
|
1 |
|
Вычислить произведение отрицательных элементов массива19.03.2015, 10:56. Показов 9112. Ответов 12
Дан массив из n элементов (вещественные числа). Вычислить: 1) произведение отрицательных элементов массива 2) сумму элементов массива, расположенных между максимальным и минимальным элементами. Упорядочить элементы по возрастанию.
0 |
zss Модератор 13083 / 10360 / 6201 Регистрация: 18.12.2011 Сообщений: 27,699 |
||||
19.03.2015, 11:06 |
2 |
|||
Возьмите образец
0 |
pavel_pushok 30 / 30 / 9 Регистрация: 25.12.2014 Сообщений: 115 |
||||
19.03.2015, 11:14 |
3 |
|||
1 пункт
0 |
ForEveR В астрале 8048 / 4805 / 655 Регистрация: 24.06.2010 Сообщений: 10,562 |
||||
19.03.2015, 11:14 |
4 |
|||
Сообщение было отмечено Памирыч как решение Решение
0 |
creonis 0 / 0 / 0 Регистрация: 19.03.2015 Сообщений: 11 |
||||
19.03.2015, 13:14 [ТС] |
5 |
|||
сделал первую часть, можете вторую сделать по этой?
0 |
FunkyShits 6 / 6 / 3 Регистрация: 15.12.2009 Сообщений: 39 |
||||
19.03.2015, 16:39 |
6 |
|||
Сообщение было отмечено Памирыч как решение Решение
0 |
0 / 0 / 0 Регистрация: 19.03.2015 Сообщений: 11 |
|
19.03.2015, 19:46 [ТС] |
7 |
что-то явно не так после строчки cout<<“max: “<<max<<” ” <<“min: “<<min<<endl; Миниатюры
0 |
0 / 0 / 0 Регистрация: 19.03.2015 Сообщений: 11 |
|
19.03.2015, 19:59 [ТС] |
8 |
да и вы в коде забыли srand ((unsigned int) time (0));, а так же вместо a[i]=rand() %20-10.0; взяли a[i] = rand() % 41 – 20;
0 |
6 / 6 / 3 Регистрация: 15.12.2009 Сообщений: 39 |
|
19.03.2015, 22:44 |
9 |
creonis, да и вы в коде забыли srand ((unsigned int) time (0));, а так же вместо a[i]=rand() %20-10.0; взяли a[i] = rand() % 41 – 20; не вижу смысла в строчке: srand ((unsigned int) time (0))
0 |
creonis 0 / 0 / 0 Регистрация: 19.03.2015 Сообщений: 11 |
||||
20.03.2015, 11:36 [ТС] |
10 |
|||
но ведь на скрине сумма чисел, находящихся между макс и мин не равна -17. там должно быть -15 Добавлено через 12 часов 23 минуты
посмотрите, почему во 2 пункте он как-то не так считает сумму?
0 |
FunkyShits 6 / 6 / 3 Регистрация: 15.12.2009 Сообщений: 39 |
||||
20.03.2015, 15:17 |
11 |
|||
0 |
0 / 0 / 0 Регистрация: 19.03.2015 Сообщений: 11 |
|
20.03.2015, 20:35 [ТС] |
12 |
я уже теряюсь Миниатюры
0 |
creonis 0 / 0 / 0 Регистрация: 19.03.2015 Сообщений: 11 |
||||
20.03.2015, 21:32 [ТС] |
13 |
|||
все, понял в чем проблема, сделал. вот код, если вдруг кому понадобится:
0 |
using System; using System.Collections.Generic; using System.Linq; namespace ConsoleApp2 { class Program { static void Main(string[] args) { var size = 10; var array = new List<int>(); Console.WriteLine("Ввести массив А из 10 элементов,найти произведение отрицательных nэлементов и вывести на экран"); Console.WriteLine("Введите значения с клавиатуры, незабудьте ввести отрицательные числа!"); while (size-- > 0) array.Add(int.Parse(Console.ReadLine())); Console.WriteLine("Исходный массив: {0}", string.Join(" ", array)); Console.WriteLine("Произведение отрицательных чисел равно: {0}", array.Where(x => x < 0).Aggregate((x, y) => x * y)); Console.ReadKey(); } } }
5.4.3 Вычисление произведения элементов массива
Дан массив , состоящий из элементов. Найти произведение элементов этого массива. Решение этой задачи сводится к тому, что значение переменной , в которую предварительно была записана единица, последовательно умножается на значение –го элемента массива. Блок-схема алгоритма приведена на рис. 5.5.
Соответствующий фрагмент программы будет иметь вид:
for (P=1, i =0; i<N; i++) P*=X [ i ]; cout<<" P = "<<P<<" n ";
Задача 5.1. Задан массив целых чисел. Найти сумму простых чисел и произведение отрицательных элементов массива.
Алгоритм решения задачи состоит из следующих этапов.
- Вводим массив .
- Для вычисления суммы в переменную записываем значение 0, для вычисления произведения в переменную записываем 1.
- В цикле ( изменяется от 0 до с шагом 1) перебираем все элементы массива , если очередной элемент массива является простым числом, добавляем его к сумме, а если очередной элемент массива отрицателен, то умножаем его на .
- Выводим на экран значение суммы и произведения.
Рис.
5.5.
Вычисление произведения элементов массива
Блок-схема решения задачи представлена на рис. 5.6. Для решения задачи применим функцию (prostoe) проверки, является ли число простым. Текст программы с подробными комментариями приведён далее.
#include <iostream> using namespace std; //Текст функции prostoe. bool prostoe ( int N) { int i; bool pr; if (N<2) pr=false; else for ( pr=true, i =2; i<=N/ 2; i++) if (N%i ==0) { pr=false; break; } return pr; } int main ( ) { int *X, i,N, S, P; cout<<"Введите размер массива "; cin>>N; //Ввод размерности массива. X=new int [N ]; //Выделение памяти для хранения динамического массива X. cout<<"Ведите массив X n "; //Ввод массива X. for ( i =0; i<N; i++) { cout<<" X ( "<<i<<" ) = "; cin>>X [ i ]; } for (P=1,S= i =0; i<N; i++) //В цикле перебираем все элементы массива { //Если очередной элемент массива — простое число, добавляем его к сумме. if ( prostoe (X [ i ] ) ) S+=X [ i ]; //Если очередной элемент массива отрицателен, умножаем его на P. if (X [ i ] <0) P*=X [ i ]; } cout << " S = " <<S<<" t P = "<<P<< endl; //Вывод S и P на экран. delete [ ] X; //Освобождение занимаемой массивом X памяти. return 0; }
Рис.
5.6.
Блок-схема алгоритма решения задачи 5.1
Результаты работы программы представлены ниже.
Введите размер массива 10 Ведите массив Х X(0)=-7 X(1)=-9 X(2)=5 X(3)=7 X(4)=2 X(5)=4 X(6)=6 X(7)=8 X(8)=10 X(9)=12 S=14 P=63
Задача 5.2. Дан массив , состоящий из целых положительных чисел. Записать все чётные по значению элементы массива в массив .
На рис. 5.7 представлен фрагмент алгоритма решения данной задачи. Здесь индексы массива хранятся в переменной , а для номеров массива зарезервирована переменная . Операция, выполняемая в блоке 1, означает, что в массиве может не быть искомых элементов. Далее организован цикл (блок 2), с помощью которого можно обращаться к элементам массива . Если условие в блоке 3 выполняется, то переменная увеличивается на единицу, а значение соответствующего элемента массива записывается в массив под номером (блок 4). Условный блок 5 необходим для того, чтобы проверить, выполнилось ли хотя бы раз условие поиска (блок 2). Если массив сформирован, то он выводится на экран (блоки 6, 7), в противном случае выдаётся соответствующее сообщение (блок 8).
Приведённый ниже фрагмент программы реализует описанный алгоритм:
for (m=-1, i =0; i<k; i++) { if (A [ i ]%2==0) //Если элемент чётный, то { m++; //увеличить значение индекса массива В B [m]=A [ i ]; //и записать элемент в массив В. } } if (m>-1) //Если чётные элементы найдены, то распечатать сформированный массив. for ( i =0; i<=m; cout<<B [ i ]<<" t ", i++); else //иначе, выдать сообщение, cout<<"Массив B не сформирован!"<<endl;
heyide215
Вопрос по информатике:
Помогите пожалуйста с информатикой, буду благодарна за помощь. Написать программу для решения задач на языке Quick Basic.
Найти произведение всех отрицательных элементов массива В(15).
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок – бесплатно!
Ответы и объяснения 1
zomsougr965
Будем считать, что массив В уже в памяти компьютера. Тогда
cls
result = 1
for i=0 to 15
if b(i)<0 then result = result * b(i)
next
print “Произведение отрицательных членов массива В равно”
print result
Знаете ответ? Поделитесь им!
Гость ?
Как написать хороший ответ?
Как написать хороший ответ?
Чтобы добавить хороший ответ необходимо:
- Отвечать достоверно на те вопросы, на которые знаете
правильный ответ; - Писать подробно, чтобы ответ был исчерпывающий и не
побуждал на дополнительные вопросы к нему; - Писать без грамматических, орфографических и
пунктуационных ошибок.
Этого делать не стоит:
- Копировать ответы со сторонних ресурсов. Хорошо ценятся
уникальные и личные объяснения; - Отвечать не по сути: «Подумай сам(а)», «Легкотня», «Не
знаю» и так далее; - Использовать мат – это неуважительно по отношению к
пользователям; - Писать в ВЕРХНЕМ РЕГИСТРЕ.
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует?
Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие
вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи –
смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.