Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 83
1

Указать числа, у которых остаток от деления на M равен L

05.02.2019, 08:57. Показов 1590. Ответов 11

Author24 — интернет-сервис помощи студентам
Даны натуральные числа a1,a2,....,an . Указать те из них, у которых остаток от деления на M равен L (0=< L=<M-1).
Есть код Паскаль:
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
program z;
var i,n,m,l,f:integer;
a:array [1..10] of integer;
begin
     writeln('Введите кол-во элементов вектора');
     readln(n);
     writeln('Ввод элементов вектора');
     for i:=1 to n do
         begin
              write('a[',i,']=');
              readln(a[i]);
         end;
     writeln('Вывод элементов вектора');
     for i:=1 to n do
         write(a[i],' ');
     writeln;
     writeln('Введите делитель');
     readln(m);
     writeln('Введите остаток');
     readln(l);
     writeln('Числа, которые от деления на ',m,' дают остаток ',l)
     if (l>=0) and (l<=m-1)
        then
            begin
                 for i:=1 to n do
                 if (a[i] mod m)=l
                    then
                        begin
                             writeln(a[i]);
                             f:=1;
                        end;
            end;
     if f=0
        then
            writeln('Таких чисел в массиве нет!');
end.
Но я без понятия как сделать в delphi
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2019, 08:57
Ответы с готовыми решениями:

Указать те числа, у которых остаток от деления на М равен L
1. Даны натуральные числа a1, a2, …an. Указать те, у которых остаток от деления на М равен L (0&lt;=...

Указать те числа, у которых остаток от деления на М равен L
Даны натуральные числа a1,a2,.. ,an Указать те из них, у которых остаток от деления на М равен...

C++ даны целые числа а1 а2 an указать те из них у которых остаток от деления на M равен L(0<L<M-1)
c++ даны целые числа а1 а2 an указать те из них у которых остаток от деления на M равен L(0&lt;L&lt;M-1)...

Даны натуральные числа a1,a2.an указать те из низ у которых остаток от деления на M равен L(0<=L<=M-1)
Даны натуральные числа a1,a2...an указать те из низ у которых остаток от деления на M равен...

11
Эксперт Pascal/Delphi
6810 / 4567 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
05.02.2019, 08:59 2
Цитата Сообщение от Supirmin Посмотреть сообщение
без понятия как сделать в delphi
Так же, если в консольном приложении. Немножко поменять, если с формой.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.02.2019, 09:12 3
Supirmin, Вам нужно именно этот код или просто решить эту задачу?
И программа нужна в консоли или с формой?
0
0 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 83
05.02.2019, 09:14  [ТС] 4
Код в консоле, если что сам добавлю в форму
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.02.2019, 09:21 5
Так в консоли и переделывать ничего не нужно, просто откройте консоль и вставьте этот код.
Чтобы печатался русский шрифт добавьте это
Delphi
1
2
3
4
5
uses Windows;
..........................
begin
SetConsoleCP(1251);
SetConsoleOutPutCp(1251);
В свойствах консоли установите шрифт Lucida Console.
Если лень что-то делать, возьмите этот код.
Указать те числа, у которых остаток от деления на М равен L
0
0 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 83
05.02.2019, 09:24  [ТС] 6
Там мне в delphi в обычный код, а не в консоль.
Почти уже сделал но все равно ошибка:
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
procedure TForm1.Button1Click(Sender: TObject);
var i,n,m,l,f,p1,p2,p3:integer;
a:array [1..10] of integer;
begin if (p1+p2+p3=0) then showmessage('Ошибка') else
val(edit1.text,n,p1);
val(edit2.text,m,p2);
val(edit3.text,l,p3);
randomize;
     for i:=1 to n do
          begin
a[i]:=random(10)+1;
         end;
     for i:=1 to n do
     if (l>=0) and (l<=m-1)
        then
            begin
                 for i:=1 to n do
                 if (a[i] mod m)=l
                    then
                        begin
                             f:=1;
                             label1.caption:=label1caption+''+inttostr(i);
                        end;
            end;
     if f=0
        then
showmessage('Таких чисел в массиве нету');
end;
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.02.2019, 09:25 7
Цитата Сообщение от Supirmin Посмотреть сообщение
Там мне в delphi в обычный код, а не в консоль.
А писали что
Цитата Сообщение от Supirmin Посмотреть сообщение
Код в консоле, если что сам добавлю в форму
0
0 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 83
05.02.2019, 09:26  [ТС] 8
Перепутал, прошу прощения
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.02.2019, 09:47 9
Лучший ответ Сообщение было отмечено Supirmin как решение

Решение

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
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var a:array of integer;
    n,m,L,i,k:integer;
begin
randomize;
val(Edit1.Text,n,i);
if(i<>0)or(n<1) then
 begin
  ShowMessage('Неверно введен размер массива (N)');
  Edit1.Clear;
  Edit1.SetFocus;
  exit;
 end;
val(Edit2.Text,m,i);
if(i<>0)or(m<1) then
 begin
  ShowMessage('Неверно введен параметр M)');
  Edit2.Clear;
  Edit2.SetFocus;
  exit;
 end;
val(Edit3.Text,L,i);
if(i<>0)or(L<0)or(L>m-1) then
 begin
  ShowMessage('Неверно введен параметр L');
  Edit3.Clear;
  Edit3.SetFocus;
  exit;
 end;
with StringGrid1 do
 begin
  fixedrows:=0;
  fixedcols:=0;
  rowcount:=1;
  colcount:=n;
  defaultcolwidth:=30;
 end;
SetLength(a,n);
//исходный массив
for i:=0 to n-1 do
 begin
  a[i]:=10+random(90);
  StringGrid1.Cells[i,0]:=inttostr(a[i]);
 end;
k:=0;
Label6.Caption:='';
for i:=0 to n-1 do
if a[i] mod m=L then
 begin
  k:=1;
  Label6.Caption:=Label6.Caption+'  '+inttostr(a[i]);
 end;
if k=0 then Label6.Caption:='Таких чисел нет';
end;
Вложения
Тип файла: zip Кратнные M.zip (228.8 Кб, 4 просмотров)
1
0 / 0 / 0
Регистрация: 16.05.2018
Сообщений: 83
05.02.2019, 10:01  [ТС] 10
Благодарю
0
2373 / 775 / 561
Регистрация: 15.01.2019
Сообщений: 2,394
05.02.2019, 16:17 11
Цитата Сообщение от Puporev Посмотреть сообщение
Так в консоли и переделывать ничего не нужно, просто откройте консоль и вставьте этот код.
Чтобы печатался русский шрифт добавьте это
DelphiВыделить код
1
2
3
4
5
uses Windows;
..........................
begin
SetConsoleCP(1251);
SetConsoleOutPutCp(1251);
Скажите а для Lazarus есть такие функции, чтобы без всяких Utf8ToConsole печатал русский текст и обратно принимал русский текст? (если скажите открыть новую тему, я открою)
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
05.02.2019, 16:23 12
Я без Utf8ToConsole не знаю, вроде нет. Создайте тему в разделе Лазарус
https://www.cyberforum.ru/lazarus/
может там что подскажут.
0
05.02.2019, 16:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2019, 16:23
Помогаю со студенческими работами здесь

Даны натуральные числа а1, а2,..., аn. Указать те из них, у которых остаток от деления на М равен L
Даны натуральные числа а1, а2,..., аn. Указать те из них, у которых остаток от деления на М равен...

Даны натуральные числа a1,a2,.,an . Указать те из них, у которых остаток от деления на M равен L (0< L< M
Даны натуральные числа a1,a2,.,an . Указать те из них, у которых остаток от деления на M равен L...

Даны натуральные числа a1,a2,.,an . Указать те из них, у которых остаток от деления на M равен L (0[U]<[/U] L [U]<[/U] M - 1)
Даны натуральные числа a1,a2,....,an . Указать те из них, у которых остаток от деления на M равен L...

Указать те из чисел последовательности, у которых остаток от деления на М равен L
Даны целые числа A1,A2,....Аn. Указать те из них, у которых остаток от деления на М равен L (0&lt;L&lt;M...


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

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