1 / 1 / 1
Регистрация: 09.11.2018
Сообщений: 66

Найти количество чисел, принадлежащих промежутку [A, B], и сумму чисел, стоящих на местах, кратных 3

04.02.2019, 19:36. Показов 2856. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Условие: Найдите количество чисел, принадлежащих промежутку [A, B], и сумму чисел, стоящих на местах, кратных 3. Нужно написать на Delphi. Тема называется Массивы, но в условии ничего не написано про массивы. Должно быть примерно(наверное) так(скрин). Я пока начинаю изучение и пока не совсем понимаю, что к чему. Буду очень благодарен, если вы мне поможете!)
Миниатюры
Найти количество чисел, принадлежащих промежутку [A, B], и сумму чисел, стоящих на местах, кратных 3  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.02.2019, 19:36
Ответы с готовыми решениями:

Найдите количество нулей во всем массиве и определите сумму квадратов чисел, принадлежащих промежутку (A, B) и стоящих на местах, кратных 4
Найдите количество нулей во всем массиве и определите сумму квадратов чисел, принадлежащих промежутку (A, B) и стоящих на местах, кратных...

Массив: Найдите количество неотрицательных чисел и определите сумму чисел, стоящих на местах, кратных 3...
Дано задание по практике в среде delphi 7: Найдите количество неотрицательных чисел и определите сумму чисел, стоящих на местах, кратных...

Массив: Вычислить сумму неотрицательных чисел, стоящих на местах, кратных 3, и количество чисел равных заданному T.
Задан динамически массив чисел. Программа должна: 1) вводить размерность и элементы массива; 2) вводить некоторые дополнительные...

15
1 / 1 / 1
Регистрация: 09.11.2018
Сообщений: 66
05.02.2019, 17:59  [ТС]
Я там не нашел ответа, только архив, файлы которого нельзя открыть в Delphi.

Добавлено через 4 минуты
Есть похожая задача на паскале сделанная с указателями, есть без указателей, но она не через массивы. Надеюсь, вам они помогут. Но условие не имеет поиска суммы этих чисел между собой.
Вот не по массивам
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
program ex;
var a,b,i,sum,t:integer;
 
 
begin
write('Введите границу А: ');
readln(a);
write('Введите границу B: ');
readln(b);
t:=0;
if a > b then
  begin
  t:=a;
  a:=b;
  b:=t;
  end;
  writeln('Количество чисел в промежутке: ',b-a);
  write('Числа, кратные 3: ');
for i:=a to b do
  begin
  inc(t);
  if i mod 3 = 0 then
  begin
 write(' ',i);
  end;
  end;
end.
А вот по массивам с указателями:
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
type
  er = ^hg;
  hg = array[1..100] of integer;
var
 
  x: er;
  a, b, i, k, s,long:integer;
begin
  new(x);
  k := 0;
  write('Введите длину массива: ');
  readln(long);
  for i := 1 to long do
  begin
    X^[i] := random(100)+1;
    write(X^[i]:4);
  end;
  writeln;
    write('Граница A и B: ');
  readln(a,b);
  write('Числа, кратные 3: ');
  for i:=a to b do
  begin
    inc(k);
 
    if X^[i] mod 3=0 then
  begin
  write(' ',x^[i]);
  end;
  end;
  writeln;
  writeln('Количество чисел в промежутке: ',k);
  Dispose(x);
end.
0
Эксперт Pascal/Delphi
6811 / 4568 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
05.02.2019, 20:22
Цитата Сообщение от DevilAndEvil Посмотреть сообщение
Я там не нашел ответа, только архив, файлы которого нельзя открыть в Delphi.
unit1.pas тоже не открывается?

Добавлено через 26 секунд
Цитата Сообщение от DevilAndEvil Посмотреть сообщение
Надеюсь, вам они помогут.
Не нам, а вам. (С)
0
1 / 1 / 1
Регистрация: 09.11.2018
Сообщений: 66
05.02.2019, 20:25  [ТС]
Открывается, но у меня не .NET и их текста там ничего не понятно, попробую .NET установить и попытаться сделать. Как сделаю, то отпишу,наверное, или поставлю "Лучший ответ" и благодарность
0
Эксперт Pascal/Delphi
6811 / 4568 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
05.02.2019, 20:27
DevilAndEvil, это программа на lazarus. Нарисуйте в Дельфи дизайн. Откройте обычным блокнотом текст программы и скопируйте нужные блоки текста.
0
1 / 1 / 1
Регистрация: 09.11.2018
Сообщений: 66
05.02.2019, 22:00  [ТС]
Дизайн я нарисовал, но программа жалуется до этого на блоки
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
procedure TForm1.EditChange(Sender: TObject);
var
  r:real;
begin
    Label4.Caption:='';
  if (not TryStrToFloat(TEdit(Sender).Text,r)) then Label4.Caption:='Введите числовые интервалы!'
end;
 
procedure TForm1.Edit1Change(Sender: TObject);
var
  n:integer;
begin
  Label4.Caption:='';
  if (not TryStrToInt(Edit1.Text,n)) or (n<1) then Label4.Caption:='Введите размерность массива. Положительное целое число!'
  else StringGrid1.RowCount:=n;
end;
А если их стереть, то потом жалуется на строку
Pascal
1
ok:=TryStrToFloat(Edit2.Text,a) and TryStrToFloat(Edit3.Text,b);
0
Модератор
 Аватар для D1973
9837 / 6378 / 2451
Регистрация: 21.01.2014
Сообщений: 27,126
Записей в блоге: 3
06.02.2019, 04:28
Цитата Сообщение от DevilAndEvil Посмотреть сообщение
но программа жалуется
DevilAndEvil, жалуетесь Вы, а программа выдает точное и понятное сообщение об ошибке. Но видите его только Вы...
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
06.02.2019, 10:03
DevilAndEvil, а текст ошибки мы должны угадать, да?
Гадаю:
у Вас на форме имеется компонент Edit1. А здесь единичка после Edit пропущена:
Цитата Сообщение от DevilAndEvil Посмотреть сообщение
procedure TForm1.EditChange(Sender: TObject);
Кроме того, Edit1Change и Edit2Change - события, просто скопипастить их мало. Для этого устанавливаете фокус на компоненте(в данном случае Edit1, например), переходите в Инспекторе объектов на вкладку Events, находите там OnChange, кликаете по нему два раза. В появившуюся процедуру Edit1Change вставляете Ваш код ( я так понял, этот:
Delphi
1
2
3
Label4.Caption:='';
if (not TryStrToFloat(TEdit(Sender).Text,r)) then
  Label4.Caption:='Введите числовые интервалы!';
0
1 / 1 / 1
Регистрация: 09.11.2018
Сообщений: 66
06.02.2019, 10:52  [ТС]
Реагирует на команду TryStrToFloat(перевод ошибки Нет перегруженной версии 'TryStrToFloat', которая может быть вызвана с этими аргументами). Нужно что-то докачивать? В 7 Delphy её добавили или она в старших версиях(в интернете написано)?
Код в делфи+cкрин дизайна, по коду из блокнота добавил кроме label и edit другие(на всякий случай для кода)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, ExtCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
 
 
procedure TForm1.Edit1Change(Sender: TObject);
var
  n:integer;
begin
  Label4.Caption:='';
  if (not TryStrToInt(Edit1.Text,n)) or (n<1) then Label4.Caption:='Введите размерность массива. Положительное целое число!'
  else StringGrid1.RowCount:=n;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  i,n:integer;
  s,a,b,t:real;
  ok:boolean;
begin
  Label4.Caption:='';
  s:=0.0;
  n:=0;
  ok:=TryStrToFloat(Edit2.Text,a) and TryStrToFloat(Edit3.Text,b);
  for i:=0 to StringGrid1.RowCount-1 do begin
     ok:=ok and TryStrToFloat(StringGrid1.Cells[0,i],t);
     if (i+1) mod 3=0 then s:=s+t;
     if (t>=a) and (t<=b) then n:=n+1;
   end;
   if ok then begin
     Label5.Caption:='Количество чисел принадлежащих промежутку:'+IntToStr(n);
     Label6.Caption:='Cумма чисел, стоящих на местах, кратных 3:'+FloatToStrF(s,ffGeneral,18,4);
  end else Label1.Caption:='Введено не числовое значение';
 
end;
 
 
end.
Миниатюры
Найти количество чисел, принадлежащих промежутку [A, B], и сумму чисел, стоящих на местах, кратных 3  
0
Модератор
 Аватар для D1973
9837 / 6378 / 2451
Регистрация: 21.01.2014
Сообщений: 27,126
Записей в блоге: 3
06.02.2019, 11:04
DevilAndEvil, тип real замените на double и больше никогда про него не вспоминайте...
1
1 / 1 / 1
Регистрация: 09.11.2018
Сообщений: 66
06.02.2019, 15:03  [ТС]
Изменил, начала запускаться. При вводе n, а после а в Edit 1 и b в Edit 2, пишет, что не числовое значение. Что-то в коде не то.
Миниатюры
Найти количество чисел, принадлежащих промежутку [A, B], и сумму чисел, стоящих на местах, кратных 3  
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
06.02.2019, 15:21
Цитата Сообщение от DevilAndEvil Посмотреть сообщение
Что-то в коде не то
Логика не та...
Вот Вы определили, есть ли число в эдитах:
Цитата Сообщение от DevilAndEvil Посмотреть сообщение
Delphi
1
ok:=TryStrToFloat(Edit2.Text,a) and TryStrToFloat(Edit3.Text,b);
А потом Вы сделали глупость:
Цитата Сообщение от DevilAndEvil Посмотреть сообщение
Delphi
1
2
for i:=0 to StringGrid1.RowCount-1 do begin
  ok:=ok and TryStrToFloat(StringGrid1.Cells[0,i],t);
Мало того, что в таблице может быть пустое значение(как вот сейчас), что по умолчанию интерпретируется как строка, так ещё и ерунда получится в итоге..
0
1 / 1 / 1
Регистрация: 09.11.2018
Сообщений: 66
06.02.2019, 18:14  [ТС]
Это не мой код Это написано на lazarus(как мне сказали выше) и я просто скопировал блоки кода, я не знаю, что нужно изменить или что нужно добавить, чтобы она работала.
0
Эксперт Pascal/Delphi
6811 / 4568 / 4819
Регистрация: 05.06.2014
Сообщений: 22,438
06.02.2019, 18:17
DevilAndEvil, вы, пожалуйста, приложите ваш проект. Тогда форумчанам намного будет проще (и легче) вам помочь.
0
1 / 1 / 1
Регистрация: 09.11.2018
Сообщений: 66
07.02.2019, 11:22  [ТС]
Вот архив с проектом, держите.
Вложения
Тип файла: zip WinRAR ZIP archive.zip (241.1 Кб, 9 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.02.2019, 11:22
Помогаю со студенческими работами здесь

Найти произведение всех чисел, стоящих на местах кратных 4
Здравствуйте...может кто знает,как решить задачку на Delphi 7 Суть программы такова,надо найти произведение всех чисел, стоящих на...

Найти среднее арифметическое чисел, не равных заданному числу С, и подсчитать количество неположительных чисел, стоящих на четных местах.
Найти среднее арифметическое чисел, не равных заданному числу С, и подсчитать количество неположительных чисел, стоящих на четных местах.

Найти среднее арифметическое чисел, принадлежащих промежутку
Люди добрые помогите написать программы, очень нужно. 1) Найти среднее арифметическое чисел, принадлежащих промежутку [A, B), и...

Подсчитать количество ненулевых чисел, стоящих на нечетных местах
Подсчитать количество ненулевых чисел, стоящих на нечетных местах, и вычислить среднее арифметическое чисел, меньших заданного Т.

Найти сумму элементов, принадлежащих промежутку от А до В
Найти сумму элементов, принадлежащих промежутку от А до В (А и В вводятся с клавиатуры). вопрос: Как ограничить ввод букв, один знак...


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

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

Новые блоги и статьи
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
Angular: Вопросы и ответы на собеседовании
Reangularity 15.06.2025
Готовишься к техническому интервью по Angular? Я собрал самые распространенные вопросы, с которыми сталкиваются разработчики на собеседованиях в этом году. От базовых концепций до продвинутых. . .
Архитектура Onion в ASP.NET Core MVC
stackOverflow 15.06.2025
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его. . .
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru