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

Если произведение элементов, расположенных между первым и вторым положительными элементами кратно 3, то поменять эти элементы местами

18.05.2013, 15:22. Показов 1150. Ответов 1
Метки нет (Все метки)

дан массив, состоящий из m элементов. Если произведение элементов, расположенных между первым и вторым положительными элементами кратно 3, то поменять эти элементы местами. Если в массиве нет двух положительных элементов, то поменять местами первый и и последний элементы массива.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2013, 15:22
Ответы с готовыми решениями:

Определить сумму элементов, расположенных между первым и вторым положительными элементами
Определить сумму элементов, расположенных между первым и вторым положительными элементами. ...

Найти сумму элементов массива расположенных между первым и вторым положительными элементами
Дан одномерный массив T, заполненный целыми случайными числами из диапазона . Найти сумму...

Найти сумму элементов массива, расположенных между первым и вторым положительными элементами
в одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) Максимальный по модулю...

Вычислить сумму элементов массива , расположенных между первым и вторым положительными элементами
в одномерном массиве ,состоящем из n вещественных элементов вычислить: 2)сумму элементов массива ,...

1
142 / 148 / 116
Регистрация: 15.11.2012
Сообщений: 537
Записей в блоге: 2
19.05.2013, 00:10 2
Лучший ответ Сообщение было отмечено Luci4er как решение

Решение

что-то такое
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Uses Crt;
Type Mas=Array[1..100]Of Integer;
Var i,M,t1,t2:Integer;
    A:Mas;
    b:Boolean;
 
Procedure SozdMas(Var A:Mas);
Var i:Integer;
Begin
Writeln('new massiv: ');
For i:=1 To M Do Begin
    A[i]:=Random(21)-10;
    Write(A[i]:3);
End; Writeln;
Writeln;
End;
 
Function Prov(A:Mas; Var nach,kon:Integer):Boolean;
Var i:Integer; Mn:LongInt;
Begin
Prov:=False;
Repeat
i:=nach+1; Mn:=1;
While (A[i]<0)and(i<M) Do Inc(i);
If i<=M Then nach:=i Else Prov:=False;
Inc(i);
While (A[i]<0)and(i<M) Do Inc(i);
If i<=M Then kon:=i Else Prov:=False;
If Kon-Nach>1 Then Begin
   For i:=Nach+1 To Kon-1 Do Mn:=Mn*a[i];
   If Mn mod 3 =0 Then Prov:=True;
End;
Until ((Kon-Nach)>1)or(i>=M);
End;
 
Procedure Obmen(Var A:Mas; Nach,kon:Integer);
Var t:Integer;
Begin
 
     t:=a[nach];
     a[nach]:=a[kon];
     a[kon]:=t;
End;
 
Procedure Vyvod(A:Mas; Nach,Kon:Integer);
Begin
     For i:=1 To M Do Begin
         TextColor(7);
         If (i=nach)or(i=Kon) Then TextColor(12);
         Write(A[i]:3);
     End; Writeln;
End;
 
BEGIN
ClrScr; Randomize;
t1:=0;
TextColor(7);
Write('M='); Readln(M);
SozdMas(A);
While Prov(A,t1,t2) Do Begin
   Obmen(A,t1,t2);
   Vyvod(A,t1,t2);
End;
 
Readln;
END.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2013, 00:10
Помогаю со студенческими работами здесь

Определить сумму элементов массива, расположенных между первым и вторым положительными элементами
сумму элементов массива, расположенных между первым и вторым положи¬тельными элементами....

Вычислить сумму элементов массива, расположенных между первым и вторым положительными элементами
В одномерном массиве, состоящем из n вещественных чисел, вычислить сумму элементов массива,...

Вычислить сумму элементов массива, расположенных между первым и вторым положительными элементами
заполнения массива не надо чисто условие для нахождения суммы.

Найти сумму элементов массива, расположенных между первым и вторым положительными элементами
Здравствуйте. Искал на форуме похожие темы и нашел. Но что-то не могу их применить к своей...


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

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

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