0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 24

Удалить из массива элементы, у которых первая и вторая цифры одинаковые

03.06.2012, 06:20. Показов 4580. Ответов 40
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я извиняюсь кто ни будь может мне в этом омочь? Нам просто даже этого не объяснили(((
1. Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-140,140]. Удалить из него все элементы, у которых первая и вторая цифры одинаковые.
2. Вставить число К после всех элементами, в записи которых есть цифра 0.
3. Переставить первые два и средние два элемента местами, сохраняя порядок их следования (количество элементов – четное).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.06.2012, 06:20
Ответы с готовыми решениями:

Удалить из массива все элементы, у которых первая и вторая цифры одинаковые
1.Дан массив целых чисел n элементов, заполненый случайным образом числами из промежутка удалить из него все элементыЭ у которых первая и...

Удалить из массива все элементы, у которых первая и вторая цифры одинаковые
Дан массив целых чисел из n элементов, заполненный случайным образом числами из заданного пользователем промежутка. Удалить из него все...

Вывести элементы массива, значения которых содержат 2 одинаковые цифры
Битый день сижу, не знаю как вывести число с двумя одинаковыми цифрами... Помогите пожалуйста!!!

40
Мишка Косолапый :)
 Аватар для zuxa-zuxa
285 / 255 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
03.06.2012, 08:37
if lenght(mass[i])>=2 then
begin
st:=inttostr(mass[i]);
if st[1]=st[2] then mass[i]:=0;
end;
0
104 / 104 / 74
Регистрация: 27.05.2009
Сообщений: 201
03.06.2012, 18:34
на форме memo1 и button1

Delphi
1
uses math;
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
procedure TForm1.Button1Click(Sender: TObject);
const
n=1000;
k=15;
var
a:array of integer;
i,j,x:integer;
s:string;
begin
//  устанавливаем размер массива
setlength(a,n);
randomize;
// заполняем массив числами от -140 до 140
   for I := 0 to n-1 do begin
                          x:=randomrange(-140,140);
                          a[i]:=x;
                          end;
 
 // проверяем и удаляем из него все элементы, у которых первая и вторая цифры одинаковые
     for I := 0 to length(a)-2 do begin
                    if a[i]=a[i+1] then begin
                                            // выполняем смещение элементов
                                               for j := i to length(a)-1 do a[j]:=a[j+1];
                                               // уменьшаем массив на -1
                                               setlength(a,length(a)-1);
                                          end;
                                    end;
 memo1.Lines.Add('было удалено '+inttostr(n-length(a))+' элементов');
  x:=0;
 // вставляем число К после всех элементов, в записи которых есть цифра 0
  for I := 0 to length(a)-1 do begin
                                 s:=inttostr(a[i]);
                                 if pos('0',s)>0 then begin
                                                      // увеличиваем размер массива на +1
                                                        setlength(a,length(a)+1);
                                                        // выполняем смещение элементов
                                               for j :=length(a)-1 downto i+1 do a[j]:=a[j-1];
                                               // заменяем элемент на k
                                               a[i+1]:=k;
                                               inc(x);
                                                       end;
                                 end;
 memo1.Lines.Add('было заменено '+inttostr(x)+' элементов');
    //переставляем первые два и средние два элемента местами
    x:=round(length(a)/2);
    for I := 0 to 1 do  begin
                         j:=a[i];
                         a[i]:=a[x+i];
                          a[x+i]:=j;
                         end;
 
 
end;
0
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 24
04.06.2012, 08:25  [ТС]
извините но тут нужно через GroupBox делать
0
Мишка Косолапый :)
 Аватар для zuxa-zuxa
285 / 255 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
05.06.2012, 10:17
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
var
mass:array[1..n] of integer;
i,j:integer;
 
begin
for i:=1 to n do
begin
mass[i]:=random(280)-140;
end;
 
for i:=1 to n do
begin
st:=Inttostr(mass[i]);
if st[1]=st[2] then mass[i]:=0;  // то есть убивается
end;
 
for i:=1 to n do
begin
for i:=1 to n do
begin
st:=Inttostr(mass[i]);
for j:=1 to lenght(st) do
begin
if st[j]='0' then mass[i]:=mass[i]+k;
end;
end;
end;
end;
0
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 24
05.06.2012, 10:25  [ТС]
mass:array[1..n] of integer;
в этой строке ошибка выходит
0
Мишка Косолапый :)
 Аватар для zuxa-zuxa
285 / 255 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
05.06.2012, 10:29
Ты сначало сообщи проге что такое n.
n:integer=10;

Добавлено через 38 секунд
А хотя нет, так не получиться, напиши просто
Delphi
1
mass:array of integer;
0
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 24
05.06.2012, 10:51  [ТС]
вот:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    RadioGroup1: TRadioGroup;
    Edit2: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var
mass:array of integer;
i,j:integer;
 
begin
mass[i]:=random(280)-140;
end;
 
for i:=1 to n do
begin
st:=Inttostr(mass[i]);
if st[1]=st[2] then mass[i]:=0;  // òî åñòü óáèâàåòñÿ
end;
 
for i:=1 to n do
begin
for i:=1 to n do
begin
st:=Inttostr(mass[i]);
for j:=1 to lenght(st) do
begin
if st[j]='0' then mass[i]:=mass[i]+k;
end;
end.
все равно что то не то
 Комментарий модератора 
Теги кода добавлены модератором. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку: "DELPHI".
0
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 24
05.06.2012, 11:07  [ТС]
Скажите пожалуйста в чем тут ошибка???
Делается через RadioGroup
1. Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-140,140]. Удалить из него все элементы, у которых первая и вторая цифры одинаковые.
2. Вставить число К после всех элементами, в записи которых есть цифра 0.
3. Переставить первые два и средние два элемента местами, сохраняя порядок их следования (количество элементов – четное).
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
unit Unit1;
 
 interface
 
 uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, ExtCtrls;
 
 type
 TForm1 = class(TForm)
 Edit1: TEdit;
 RadioGroup1: TRadioGroup;
 Edit2: TEdit;
 Button1: TButton;
 Label1: TLabel;
 Label2: TLabel;
 procedure Button1Click(Sender: TObject);
 private
 { Private declarations }
 public
 { Public declarations }
 end;
 
 var
 Form1: TForm1;
 
 implementation
 
 {$R *.dfm}
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
 mass:array of integer;
 i,j:integer;
 
 begin
 mass[i]:=random(280)-140;
 end;
 
 for i:=1 to n do
 begin
 st:=Inttostr(mass[i]);
 if st[1]=st[2] then mass[i]:=0; // òî åñòü óáèâàåòñÿ
 end;
 
 for i:=1 to n do
 begin
 for i:=1 to n do
 begin
 st:=Inttostr(mass[i]);
 for j:=1 to lenght(st) do
 begin
 if st[j]='0' then mass[i]:=mass[i]+k;
 end;
 end
0
3 / 3 / 0
Регистрация: 20.07.2010
Сообщений: 99
05.06.2012, 11:19
С массивами давно работал, но по коду не понял зачем тебе
for i:=1 to n do
begin
for i:=1 to n do
begin
зацикливание программы,
и разве переменную "st" не нужно объявлять?
Щас еще по самой программе гляну, что не так...
0
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 24
05.06.2012, 11:25  [ТС]
ну я просто по заданию что то смотрела я с масивами просто туго очень
0
3 / 3 / 0
Регистрация: 20.07.2010
Сообщений: 99
05.06.2012, 11:27
Команда Length написана не правильно)
0
 Аватар для Санек25
422 / 352 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
05.06.2012, 11:29
Как я понял тебе надо вставить в массив там где занчение массива равно 0 букву к тогда почему
mass:array of integer; разве в массиве который объявлен как целое число могут храниться символы???

Добавлено через 1 минуту
кстати нет setlength();
0
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 24
05.06.2012, 11:43  [ТС]
Да блин у меня с делфи просто завал( сделала как поняла я не знаю как(

Добавлено через 10 минут
а если напишу что mass:array[1..n] of integer;
все равно не то что то
0
 Аватар для Санек25
422 / 352 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
05.06.2012, 11:47
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.Button1Click(Sender: TObject);
var
mass:array of string;
i,j:integer;
 
begin
n:=strtoint(edit1.text);//задаем n
setlegnth(mass,n);      //ограничиваем массив
 
for i:=1 to n do
begin
mass[i]:=inttostr(random(280)-140);
end;
 
 
for i:=1 to n do
begin
if mass[i]='0' then mass[i]= 'K';
end;
end
Писал в блокноте примерно так заменяет 0 на к
0
Мишка Косолапый :)
 Аватар для zuxa-zuxa
285 / 255 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
05.06.2012, 11:47
Я там тупанул, хрень написал.
Вот норм рабочий код:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var
mass:array[1..10] of integer;
i,j,n,k:integer;
st:string;
 
begin
n:=10;
for i:=1 to 10 do
begin
mass[i]:=random(280)-140;
end;
 
for i:=1 to 10 do
begin
st:=Inttostr(mass[i]);
if st[1]=st[2] then mass[i]:=0;  // òî åñòü óáèâàåòñÿ
end;
 
for i:=1 to 10 do
begin
st:=Inttostr(mass[i]);
  for j:=1 to length(st) do
  begin
  if st[j]='0' then mass[i]:=mass[i]+k;
  end;
end;
 
end;
 
end.
0
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 24
05.06.2012, 11:51  [ТС]
ок попробуем)

Добавлено через 2 минуты
Xm все равно в n :=strtoint(edit1.text);// ошибка
0
 Аватар для Санек25
422 / 352 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
05.06.2012, 11:54
а ты эдит на форму кинула? А число туда ввела?
0
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 24
05.06.2012, 11:57  [ТС]
конечно кинула) просграмма сама не запускается что бы число ввести
0
 Аватар для Санек25
422 / 352 / 19
Регистрация: 14.05.2012
Сообщений: 1,437
05.06.2012, 11:59
И он называется эдит1?
в var объяви n : integer;

У меня обед...:dance3:
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.06.2012, 11:59
Помогаю со студенческими работами здесь

Удалить из массива все элементы, первая цифра которых четная
1. Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка . Удалить из него все элементы, первая цифра...

Удалить из массива все элементы, первая цифра которых четная
Исходный массив должен быть выведен на экран. Все преобразования производить с исходным массивом . После каждого преобразования на экране...

Удалить из массива все элементы, первая цифра которых четная
Задание: Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка . Удалить из него все элементы, первая...

Удалить из массива все элементы, в которых первая цифра нечетная
Надеюсь кто-то сможет помочь. Дан массив целых чисел (n=15), заполненный случайным образом числами из промежутка . − удалить из...

Удалить из массива все элементы, первая цифра которых четная
1. Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка . Удалить из него все элементы, первая...


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

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

Новые блоги и статьи
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru