0 / 0 / 0
Регистрация: 15.09.2015
Сообщений: 2
1

Умножить все положительные элементы массива на квадрат min, а отрицательные - на квадрат max элемента

03.11.2015, 21:24. Показов 1697. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
задано массив P (13). Умножить все положительные элементы массива на квадрат наименьшего
элемента, а все отрицательные - на квадрат крупнейшего элемента. Вывести исходный и
сформированый массивы, а также найти минимум и максимум
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.11.2015, 21:24
Ответы с готовыми решениями:

Все отрицательные элементы массива заменить единицей, положительные возвести в квадрат, нули оставить
Создать массив случайных чисел на интервале от -15 до 15. Все отрицательные элементы заменить...

Умножить все отрицательные элементы массива на 100, а положительные замените единицами
Создать одномерный массив из 10 случайных целых чисел из интервала от -12 до 20.Умножить все...

В массиве все положительные элементы умножить на 10, а все отрицательные заменить на 0
1. В одномерном массиве размерностью N все положительные элементы умножить на 10, а все...

Отрицательные элементы массива возвести в квадрат
помогите написать 2 задание на паскале

4
CAPITAL OF ROCK!
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
05.11.2015, 00:21 2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const
    N = 15;
var
    ar: Array[0..N-1] Of Double;
    i, iMax, iMin: Byte;
    min, max: Double;
begin
    Randomize();
    Write('Original array:');
    ar[0] := Random * 10 - 5;
    Write(' ', ar[0]:0:2); min := ar[0]; max := ar[0];
    for i := 1 to  N - 1 do
    begin
        ar[i] := Random * 10 - 5;
        Write(' ', ar[i]:0:2);
        if (ar[i] < min)
        then
            min := ar[i];
        if (ar[i] > max)
        then
            max := ar[i];
    end;
    WriteLn; WriteLn('max=', max:0:2, #9, #9, 'min=', min:0:2); WriteLn;
    Write('Modified array:'); iMax := 0; iMin := 0;
    for i := 0 to N - 1 do
    begin
        if (ar[i] > 0)
        then
            ar[i] := ar[i] * Sqr(min)
        else
            ar[i] := ar[i] * Sqr(max);
        Write(' ', ar[i]:0:2);
        if (ar[i] < ar[iMin])
        then
            iMin := i;
        if (ar[i] > ar[iMax])
        then
            iMax := i;
    end;
    WriteLn; Write('new max=', ar[iMax]:0:2, #9, #9, 'new min=', ar[iMin]:0:2);
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7750 / 4584 / 2818
Регистрация: 22.11.2013
Сообщений: 13,039
Записей в блоге: 1
05.11.2015, 10:02 3
JokeR.BY,
Нет особого смысла в WriteLn дробить одну строку (#9#9'min') на отдельные символы
Pascal
1
WriteLn('max=', max:0:2, #9#9'min=', min:0:2);
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32816 / 21154 / 8147
Регистрация: 22.10.2011
Сообщений: 36,413
Записей в блоге: 8
05.11.2015, 12:08 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Используем возможности FPC:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
uses math;
const
  N = 13;
type
  Range = 0 .. Pred(N);
var
  ar: Array[Range] Of Double;
  i: Range;
  min, max: Double;
begin
  Randomize();
  Write('Original array:');
  for i in Range do
  begin
    ar[i] := Random * 10 - 5;
    Write(' ', ar[i]:0:2);
  end;
  min := MinValue(ar); max := MaxValue(ar);
  WriteLn(sLineBreak, 'max=', max:0:2, #9, 'min=', min:0:2, sLineBreak);
  Write('Modified array:');
  for i in Range do
  begin
    ar[i] := ar[i] * Sqr(IfThen(ar[i] > 0, min, max));
    Write(' ', ar[i]:0:2);
  end;
  Writeln(sLineBreak, 'new max=', MaxValue(ar):0:2, #9, 'new min=', MinValue(ar):0:2);
end.
1
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7750 / 4584 / 2818
Регистрация: 22.11.2013
Сообщений: 13,039
Записей в блоге: 1
05.11.2015, 15:45 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Я б чуть сэкономил:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
uses math;
const
  N = 13;
type
  Range = 0 .. Pred(N);
var
  ar: Array[Range] Of Double;
  i: Range;
  min, max: Double;
begin
  Randomize;
  Write('A =');
  for i in Range do begin
    ar[i] := Random * 10 - 5;
    Write(' ', ar[i]:0:2);
  end;
  min := MinValue(ar); max := MaxValue(ar);
  Write(sLineBreak, 'max=', max:0:2, #9, 'min=', min:0:2, sLineBreak, 'A''=');
  min := sqr(min); max := sqr(max);
  for i in Range do begin
    ar[i] := ar[i] * IfThen(ar[i] > 0, min, max);
    Write(' ', ar[i]:0:2);
  end;
  Writeln(sLineBreak, 'new max=', MaxValue(ar):0:2, #9'new min=', MinValue(ar):0:2);
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2015, 15:45
Помогаю со студенческими работами здесь

Возвести в квадрат все нечетные отрицательные числа массива
8.21. В массиве A(п), состоящий из вещественных чисел, возвести в квадрат все нечетные...

Из положительных элементов исходного массива извлечь квадратный корень, отрицательные элементы возвести в квадрат
Добрый вечер! помогите пожалуйста составить программу управляющуюся с помощью меню В меню...

Найти max и min элементы массива y и сформировать массив z из элементов массива y, находящихся между max и min y. Записать массив z в обратном порядке
Дан массив Х{80 элементов}. Вычислить {y}_{i}=sin\sqrt{{x}_{i}}+{cos}^{2}{{x}_{1}}^{2} Найти...

Вывести сначала все положительные элементы массива, затем все отрицательные
Всем привет уважаемые. Нуждаюсь в помощи, помогите кто сможет. Вообщем вот в чём вопрос: Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru