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

Дана последовательность чисел ai. Построить новую последовательность, содержащую все простые числа исходной последовательности.

18.01.2010, 20:44. Показов 1316. Ответов 6
Метки нет (Все метки)

Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Add(Edit1.Text);  //Числа вводятся вручную.
Edit1.Clear;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var i,n,x:integer;
begin
randomize;
n:=strtoint(inputbox('Сколько чисел желаете ввести?','',''));
for i:=1 to n do
begin 
x:=random(1000);
ListBox1.Items.add(inttostr(x));  //Числа вводятся случайно.
end;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
var del,i,n:integer;
begin
del:=2;
for i:=0 to ListBox1.Items.Count-1 do
 begin
   while StrToInt(ListBox1.Items[i]) mod del<>0 do
    del:=del+1;
   if StrToInt(ListBox1.Items[i]) mod del=del then
    StringGrid1.Cells[1,n+1]:=IntToStr(ListBox1.Items[i]);
 
 
end;
end;
end.
Код
[Error] Unit1.pas(59): There is no overloaded version of 'IntToStr' that can be called with these arguments
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
Ругается судя по всему на последнюю строку.
Последовательность берётся из ListBox, новая последовательность записывается в StringGrid.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2010, 20:44
Ответы с готовыми решениями:

Построить новую последовательность, содержащую все простые числа исходной последовательности
Дана последовательность целых чисел ai. Построить новую последовательность, содержащую все простые...

Построить новую последовательность, содержащую те числа исходной последовательности, младшая цифра которых 0
Разработать визуальную программу на языке C# ввод последовательности данных в ListBox1, выполнение...

Построить новую последовательность, содержащую те числа исходной последовательности, младшая цифра которых 0
Разработать визуальную программу на языке C#, Ввести последовательность чисел ai. Построить новую...

Дана последовательность целых чисел a1,a2 ,an . Образовать новую последовательность, выбросив из исходной те члены, к
Код не всегда работает так как нужно. Не могу понять в чем проблема. Помогите... import...

6
ﻌﺹ ﺦ ﺖﻀ ﺹ ﻙ ﺵﻔ ﺊ ﺘﺝ
607 / 387 / 81
Регистрация: 15.12.2009
Сообщений: 753
18.01.2010, 20:47 2
Цитата Сообщение от SergStLv Посмотреть сообщение
StringGrid1.Cells[1,n+1]:=IntToStr(ListBox1.Items[i];
ненаписал закрывающюю скобку IntToStr(ListBox1.Items[i]);
и перед End. добавь ещё End;
0
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 44
18.01.2010, 20:51  [ТС] 3
Спасибо, переделал, но первая ошибка ещё осталась.
Первый пост отредактировал.
0
ﻌﺹ ﺦ ﺖﻀ ﺹ ﻙ ﺵﻔ ﺊ ﺘﺝ
607 / 387 / 81
Регистрация: 15.12.2009
Сообщений: 753
18.01.2010, 20:52 4
В твоем случае
Цитата Сообщение от SergStLv Посмотреть сообщение
StringGrid1.Cells[1,n+1]:=IntToStr(ListBox1.Items[i]);
IntToStr не нужен.
так как StringGrid1-это String и ListBox1-тоже String
0
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 44
18.01.2010, 20:58  [ТС] 5
Спасибо. Всё компилируется, но когда жмёш Button3, тоесть переделать последовательность то виснет. В цикл уходит или просто так долго считает?
0
ﻌﺹ ﺦ ﺖﻀ ﺹ ﻙ ﺵﻔ ﺊ ﺘﺝ
607 / 387 / 81
Регистрация: 15.12.2009
Сообщений: 753
18.01.2010, 21:02 6
Значит у тебя в StringList нету четных чисел вот он и выполняет
Delphi
1
2
while StrToInt(ListBox1.Items[i]) mod del<>0 do
del:=del+1;
0
0 / 0 / 0
Регистрация: 25.10.2009
Сообщений: 44
19.01.2010, 21:11  [ТС] 7
Delphi
1
2
3
4
5
6
for i:=0 to ListBox1.Items.Count-1 do
begin
  while StrToInt(ListBox1.Items[i]) mod del<>0 do
    del:=del+1;
  if StrToInt(ListBox1.Items[i]) mod del=del then
    StringGrid1.Cells[1,n+1]:=IntToStr(ListBox1.Items[i]);
И всё-таки где-то в этой части кода ошибка. Или не считает простые числа, или не записывает в StringGrid, или и то и другое.

Добавлено через 13 минут
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Add(Edit1.Text);//Ïîñëåäîâàòåëüíîñòü ââîäèòñÿ âðó÷íóþ.
Edit1.Clear;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var i,n,x:integer;
begin
randomize;
n:=strtoint(inputbox('Ñêîëüêî ÷èñåë æåëàåòå ââåñòè?','',''));
for i:=1 to n do
begin x:=random(1000);
ListBox1.Items.add(inttostr(x));//Ïîñëåäîâàòåëüíîñòü ââîäèòñÿ ñëó÷àéíî.
end;
end;
 
procedure TForm1.Button3Click(Sender: TObject);
var del,i,n:integer;
    m:string;
begin
del:=2;
i:=0;
n:=0;
m:=ListBox1.Items[i];
for i:=0 to ListBox1.Items.Count-1 do
 begin
   while StrToInt(ListBox1.Items[i]) mod del<>0 do
    del:=del+1;
   if StrToInt(ListBox1.Items[i]) mod del=del then
    StringGrid1.Cells[1,n+1]:=(ListBox1.Items[i]);
    StringGrid1.Cells[0,n]:=m;
end;
end;
end.
Теперь код такой. И всё равно виснет зараза.

Добавлено через 34 минуты
Delphi
1
2
3
4
5
6
7
8
9
begin
   while i mod del<>0 do
    del:=del+1;
   if StrToInt(ListBox1.Items[i]) mod del=del then
    StringGrid1.Cells[1,n+1]:=(ListBox1.Items[i]);
    StringGrid1.Cells[0,n]:=m;
end;
end;
end.
Подправил код, теперь в последовательности от 1 до 11 в StringGrid записывает 1, а должен ещё 3, 5, 7 и 11, т.к они все простые.

Добавлено через 11 часов 21 минуту
help Кто нибудь, а то у меня все мысли уже вышли.

Добавлено через 11 часов 25 минут
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TForm1.Button3Click(Sender: TObject);
var del,i,n:integer;
    m:string;
begin
del:=2;
i:=0;
n:=0;
m:=ListBox1.Items[i];
for i:=0 to ListBox1.Items.Count-1 do
 begin
   while i mod del<>0 do
    del:=del+1;
   if StrToInt(ListBox1.Items[i]) mod del=del then
    StringGrid1.Cells[1,n+1]:=(ListBox1.Items[i]);
    StringGrid1.Cells[0,n]:=m;
 end;
end;
end.
Что здесь не так, не просчитывает всю последовательность, или не записывает все ответы в StringGrid.
Или и то и другое, или одно из 5
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2010, 21:11
Помогаю со студенческими работами здесь

дана последовательность целых чисел a=(a1,a2,.,an). Получите новую последовательность, выбросив из исходной элементы со значением max (a1,a2,.,an
дана последовательность целых чисел a=(a1,a2,....,an). Получите новую последовательность, выбросив...

Дана последовательность целых чисел a1,a2,. . Образовать новую последовательность, исключив из исходной те члены, которые равны min(a1,a2,.)
Последовательность находится в StringGrid.

Дана последовательность целых чисел. Образовать новую последовательность, выбросив из исходной те члены, которые равны min
Написала код, а он не работает. Приложение запускается, а при нажатии кнопки выдает ошибку....

Дана последовательность чисел ai. Построить новую последовательность.
Здравствуйте... Я перечитал свой конспект, пробовал что-то сделать, но у меня ничего не вышло......

Дана последовательность целых чисел, определить, есть ли в этой последовательности простые, не повторяющие числа...
Дана последовательность целых чисел, определить, есть ли в этой последовательности простые, не...

Дана последовательность целых чисел. заменить все простые числа на х
дана последовательность целых чисел. заменить все простые числа на х #include &quot;iostream&quot; #include...


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

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

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