Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
KatrinVev
1 / 1 / 0
Регистрация: 21.01.2013
Сообщений: 83
1

программа, генерирующая одномерный массив

25.03.2013, 17:54. Просмотров 846. Ответов 10
Метки нет (Все метки)

Составьте программу, генерирующую одномерный массив В, содержащий те элементы одномерного массива A(N), что удовлетворяют условию: квадратный трехчлен x^2-2A(j)x -Q не имеет действительных корней. и объясните пожалуйста
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2013, 17:54
Ответы с готовыми решениями:

Программа генерирующая одномерный массив
Составьте программу, генерирующую одномерный массив X(N), каждый элемент X...

Программа генерирующая все пятизначные числа
Написать программу, которая генерирует все пятизначные числа кратные 3 и 5. ...

программа генерирующая все представления натурального числа N в виде суммы
Составьте программу, генерирующую все представления натурального числа N в виде...

Дан двумерный массив, из него сделать одномерный. В одномерный массив сначала вписат четные строки потом нечетные
Здравствуйте,собственно задача в заголовке темы. никак не получается все это...

программа на одномерный массив
нужно написать через array Series22. Дано целое число N (> 1) и набор из N...

10
Puporev
Модератор
55454 / 42566 / 29416
Регистрация: 18.05.2008
Сообщений: 100,701
25.03.2013, 19:30 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
uses crt;
{определяем есть ли корни через дискриминант}
function korni(n,q:integer):boolean;
begin
korni:=4*sqr(n)+4*q>=0
end;
const nmax=100;
var a,b:array[1..nmax] of integer;
    n,m,i,q:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива A до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив A:');
for i:=1 to n do
 begin
  a[i]:=-5+random(11);
  write(a[i]:4);
 end;
writeln;
write('q=');
readln(q);
m:=0;
for i:=1 to n do
if korni(a[i],q) then
 begin
  m:=m+1;
  b[m]:=a[i];
 end;
if m=0 then write('Нет элементов, удовлетворяющих условию')
else
 begin
  writeln('Массив B:');
  for i:=1 to m do
  write(b[i]:4);
 end;
readln
end.
0
Настена95
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 21
16.04.2013, 13:52 3
Puporev, пожалуйста помоги мне тоже,очень очень надо

составьте программу генерирующую массив b содержащий только те элементы одномерного массива A[t] что удовлетворяют условию:корни квадратного трехчлена x^2-2a[J]x-Q вещественны и положительны
0
Puporev
Модератор
55454 / 42566 / 29416
Регистрация: 18.05.2008
Сообщений: 100,701
16.04.2013, 14:15 4
В принципе все также, только меняем функцию
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
{определяем есть ли вещественые корни через дискриминант
и что они положительны}
function korni(n,q:integer):boolean;
var d,x1,x2:real;
begin
d:=4*sqr(n)+4*q;
if d>=0 then
 begin
  x1:=(2*n+sqrt(d))/2;
  x2:=(2*n-sqrt(d))/2;
 end;
korni:=(d>=0)and(x1>0)and(x2>0)
end;
При q<0 есть решеня

Добавлено через 2 минуты
Вообще раз нужен только знак, то лучше
Pascal
1
2
x1:=2*n+sqrt(d);
x2:=2*n-sqrt(d);
0
Настена95
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 21
18.04.2013, 13:31 5
Puporev, а если не сложно можешь пожалуйста без функции написать эту программу?((
0
Puporev
Модератор
55454 / 42566 / 29416
Регистрация: 18.05.2008
Сообщений: 100,701
18.04.2013, 13:34 6
Настена95, А напиши сама, здесь все для программы есть.
0
Настена95
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 21
24.04.2013, 13:11 7
Puporev, ну пожалуйста,очень надо,я не сильна в программировании

Добавлено через 1 минуту
Puporev, здесь ошибка где то,она не правильно считает

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
program s1;
uses crt;
const nmax=100;
var a,b:array[1..nmax] of integer;
n,m,i,q:integer; d,x1,x2:real;
begin
clrscr;
randomize;
repeat
write('Размер массива A до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив A:');
for i:=1 to n do
begin
a[i]:=-5+random(11);
write(a[i]:4);
end;
writeln;
write('q=');
readln(q);
m:=0;
for i:=1 to n do
d:=4*sqr(n)+4*q;
if d>=0 then
begin
x1:=(2*n+sqrt(d))/2;
x2:=(2*n-sqrt(d))/2;
end;
if (d>=0)and(x1>0)and(x2>0) then
begin
m:=m+1;
b[m]:=a[i];
end;
if q<0 then
begin
writeln('Массив B:');
for i:=1 to m do
write(b[i]:4);
end
else write('Нет элементов, удовлетворяющих условию');
readln
end.
0
Puporev
Модератор
55454 / 42566 / 29416
Регистрация: 18.05.2008
Сообщений: 100,701
24.04.2013, 13:28 8
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
program s1;
uses crt;
const nmax=100;
var a,b:array[1..nmax] of integer;
    n,m,i,q:integer;
    d,x1,x2:real;
begin
clrscr;
randomize;
repeat
write('Размер массива A до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Массив A:');
for i:=1 to n do
 begin
  a[i]:=-5+random(11);
  write(a[i]:4);
 end;
writeln;
write('q=');
readln(q);
m:=0;
for i:=1 to n do
 begin
  d:=4*sqr(i)+4*q;{здесь n это опечатка была}
  if d>=0 then
   begin
    x1:=2*n+sqrt(d);{я писал что нужен только знак}
    x2:=2*n-sqrt(d);{и делить на 2 не обязательно}
  end;
 if (x1>0)and(x2>0) then
  begin
   m:=m+1;
   b[m]:=a[i];
  end;
 end;
if m=0 then write('Нет элементов, удовлетворяющих условию')
else
 begin
  writeln('Массив B:');
  for i:=1 to m do
  write(b[i]:4);
 end;
readln
end.
1
Настена95
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 21
24.04.2013, 13:36 9
там когда q вводишь он теперь выводит массив В точно такой же как и А

Добавлено через 4 минуты
Puporev, спасибо большое,прости,что так доставала тебя,теперь работает, огромнейшее спасибо
0
Puporev
Модератор
55454 / 42566 / 29416
Регистрация: 18.05.2008
Сообщений: 100,701
24.04.2013, 13:39 10
Нужно заменить n на a[i]
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
m:=0;
for i:=1 to n do
 begin
  d:=4*sqr(a[i])+4*q;{здесь n это опечатка была}
  if d>=0 then
   begin
    x1:=2*a[i]+sqrt(d);{я писал что нужен только знак}
    x2:=2*a[i]-sqrt(d);{и делить на 2 не обязательно}
  end;
 if (x1>0)and(x2>0) then
  begin
   m:=m+1;
   b[m]:=a[i];
  end;
 end;
0
Настена95
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 21
26.04.2013, 15:56 11
а откуда там в формуле дискриминанта 4 перед sqr(a[i])?
0
26.04.2013, 15:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2013, 15:56

Одномерный массив (блок-схема и программа)
Нужно составить блок-схему и программу к этой задаче! Задан одномерный...

программа на одномерный массив.просьба помочь с решением
Ввести одномерный массив из 10 целых чисел. Найти сумму его элементов.

Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C
Дан одномерный массив A из N элементов. Переписать положительные элементы...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru