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

Как сделать чтобы пользователь мог в программе выбирать вводить элементы массива вручную или автоматически

16.01.2012, 17:11. Показов 3299. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
прога сначала была вот такая
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
program 9;
uses crt;
 
const max = 100;
 
var
S1,S2,S3,S4,pol,otr: double;
S1min,S2min,S3min,S4min: Integer;
n: Integer;
mas: array[1..max] of double;
i,j: Integer;
 
function root(a: real; n: word): real;
var r: real;
begin
  r:=exp(ln(abs(a))/n);
  if a<0 then root:=-r else root:=r;
end;
 
begin
 
 clrscr;
 
 write('Wwedite kol. elementow: ');
 readln(n);
 
 S1:=0;
 S2:=1;
 S3:=0;
 S4:=0;
 
 S1min:=0;
 S2min:=0;
 S3min:=0;
 S4min:=0;
 
 pol:=0;
 otr:=0;
 
 for i:=1 to n do
  begin
    write('X',i,': ');
    readln(mas[i]);
    S1:=S1+mas[i];
    S2:=S2*mas[i];
    S3:=S3+(1/mas[i]);
    S4:=S4+(mas[i]*mas[i]);
    if( (i mod 2 <> 0) and (mas[i]>=0) ) then pol:=pol+mas[i];
    if( (i mod 2 <> 0) and (mas[i]<0) ) then otr:=otr+mas[i];
  end;
 
 
  S1:=S1/n;
  S2:=root(S2,n);
  S3:=n/S3;
  S4:=sqrt(S4/n);
 
  for i:=1 to n do
   begin
     if mas[i]<S1 then S1min:=S1min+1;
     if mas[i]<S2 then S2min:=S2min+1;
     if mas[i]<S3 then S3min:=S3min+1;
     if mas[i]<S4 then S4min:=S4min+1;
   end;
 
  writeln('S1 = ',S1:2:4);
  writeln('S1min = ',S1min);
  writeln('S2 = ',S2:2:4);
  writeln('S2min = ',S2min);
  writeln('S3 = ',S3:2:4);
  writeln('S3min = ',S3min);
  writeln('S4 = ',S4:2:4);
  writeln('S4min = ',S4min);
 
 
  writeln('Summa Pologitelnih: ',pol:2:4);
  writeln('Summa Otricatelnih: ',otr:2:4);
 
  readln;
 
end.
как переделать?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2012, 17:11
Ответы с готовыми решениями:

Как сделать, чтобы пользователь мог выбирать шаблон для страницы?
Я новичек в джанге. Как будет лучше решить такую задачу: Для некоторых страниц нужно иметь разные...

Как сделать, чтобы перед вводом текста в TextBox пользователь мог выбирать шрифт?
Здравствуйте,подскажите пожалуйста ответ на мой вопрос,мне надо сделать так,чтобы перед вводом...

Как сделать чтобы пользователь мог вводить только цифры?
Как сделать чтобы пользователь мог вводить только цифры или точку? А именно символы, которые...

Как сделать так,чтобы в поле пользователь мог вводить числа от 6 до 20?
Как сделать так,чтобы в поле пользователь мог вводить числа от 6 до 20?

5
Почетный модератор
64303 / 47598 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.01.2012, 17:36 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
program aaa;
uses crt;
 
const max = 100;
 
var
S1,S2,S3,S4,pol,otr: real;
S1min,S2min,S3min,S4min: Integer;
n,w: Integer;
mas: array[1..max] of real;
i,j: Integer;
 
function root(a: real; n: word): real;
var r: real;
begin
  r:=exp(ln(abs(a))/n);
  if a<0 then root:=-r else root:=r;
end;
 
begin
 randomize;
 clrscr;
 write('Wwedite kol. elementow: ');
 readln(n);
 writeln('1-Вводить элементы с клавиатуры');
 writeln('2-Вводить случайные числа');
 repeat
 write('w=');
 readln(w);
 until w in [1,2];
 case w of
 1:begin
    for i:=1 to n do
    begin
    write('X',i,': ');
    readln(mas[i]);
    end;
   end;
 2:begin
    for i:=1 to n do
    mas[i]:=-9+20*random;
   end;
end;
 
 S1:=0;
 S2:=1;
 S3:=0;
 S4:=0;
 
 S1min:=0;
 S2min:=0;
 S3min:=0;
 S4min:=0;
 
 pol:=0;
 otr:=0;
 for i:=1 to n do
  begin
    S1:=S1+mas[i];
    S2:=S2*mas[i];
    S3:=S3+(1/mas[i]);
    S4:=S4+(mas[i]*mas[i]);
    if( (i mod 2 <> 0) and (mas[i]>=0) ) then pol:=pol+mas[i];
    if( (i mod 2 <> 0) and (mas[i]<0) ) then otr:=otr+mas[i];
  end;
 
 
  S1:=S1/n;
  S2:=root(S2,n);
  S3:=n/S3;
  S4:=sqrt(S4/n);
 
  for i:=1 to n do
   begin
     if mas[i]<S1 then S1min:=S1min+1;
     if mas[i]<S2 then S2min:=S2min+1;
     if mas[i]<S3 then S3min:=S3min+1;
     if mas[i]<S4 then S4min:=S4min+1;
   end;
 
  writeln('S1 = ',S1:2:4);
  writeln('S1min = ',S1min);
  writeln('S2 = ',S2:2:4);
  writeln('S2min = ',S2min);
  writeln('S3 = ',S3:2:4);
  writeln('S3min = ',S3min);
  writeln('S4 = ',S4:2:4);
  writeln('S4min = ',S4min);
 
 
  writeln('Summa Pologitelnih: ',pol:2:4);
  writeln('Summa Otricatelnih: ',otr:2:4);
 
  readln;
 
end.
1
212 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 40
16.01.2012, 20:02  [ТС] 3
А можно поподробнее что делает
Цитата Сообщение от Puporev Посмотреть сообщение
case w of
и

Цитата Сообщение от Puporev Посмотреть сообщение
mas[i]:=-9+20*random;
?
0
Почетный модератор
64303 / 47598 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.01.2012, 20:04 4
case w of это оператор выбора, если выбран 1, то одно, если 2, то другое
mas[i]:=-9+20*random;//присваиваем элементам массива случайные вещественные числа от -9.0 +20.0
1
212 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 40
16.01.2012, 20:19  [ТС] 5
а почему именно от -9.0 +20.0? как самому выбрать например от 0 до 100? и еще что делает until w in [1,2];?
0
Почетный модератор
64303 / 47598 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
16.01.2012, 20:58 6
Цитата Сообщение от Буян Посмотреть сообщение
а почему именно от -9.0 +20.0?
Да потому что я так захотел, возьми да поменяй.
Можно ввести интервал a,b 2 целых положительных числа
тогда будет
Pascal
1
mas[i]:=-a+b*random;
Цитата Сообщение от Буян Посмотреть сообщение
что делает until w in [1,2];?
проверяет что введено 1 или 2, если другое, будет ждать пока не введешь 1 или 2.
Ни фига-то ты не читал, ничего вообще не знаешь, и на форуме тебе пока рановато тусоваться.
0
16.01.2012, 20:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2012, 20:58
Помогаю со студенческими работами здесь

как сделать через функцию пользователя и чтобы размер мог вводить пользователь ?
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt;...

Как сделать в Delphi, чтобы пользователь мог сам вводить выражения для вычислений?
Как сделать в Delphi, чтобы пользователь мог сам вводить выражения для вычислений?

Мне нужно сделать так чтобы пользователь мог сам вводить размерность массива и выбирал какую строку поменять на какой столбец.
Задание. В матрице поменять местами I-тую строку и J-тый столбец Добавлено через 58 минут...

Как сделать что бы параметры метода мог вводить пользователь
Подскажите пожалуйста, как сделать что бы параметры метода мог вводить пользователь. Вот пример...


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

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

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