Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Zixer
0 / 0 / 1
Регистрация: 05.12.2013
Сообщений: 8
1

Оконное приложение

10.12.2013, 12:08. Просмотров 765. Ответов 6
Метки нет (Все метки)

Здравствуйте, мне необходимо перевести консольную программу в оконное приложение (в окне имеются: 2 StringGrid, 2 Edit(A,B), Button (вычисление)).

Основное условие: составьте подпрограмму, исходными данными которой являются числовые массивы С и (или) D из n элементов. Основной ее результат - также массив, получающий некоторое множество элементов. Их количество (оно может быть равно нулю) - еще один результат. Требуемые результаты подпрограммы и прочие данные указаны в вариантах.

Мой вариант: множество элементов массива С, которые занимают позиции между первым элементом со значением А и первым элементом со значением В (если значение В не найдено, брать элементы вплоть до конца массива); А и В заданы.

В основном очень нужна запись процедуры.
Всем заранее спасибо!

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
program Project3;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
type
  mas = array[1..256] of real;
 
var
  n,m,l: integer;
  c,d: mas;
  a,b: real;
 
function main(c1: mas; n1: integer; a1,b1: real; var m1: integer): mas;
var k,i,j: integer;
    s: mas;
begin
 
  for i := 1 to n do
    if c1[i] = a1 then break;
 
  for k := i to n do
    begin
    if c1[i] = b1 then break;
    end;
 
  m1 := k - i - 2;
 
  for j := i + 1 to k - 1 do
    s[j-i] := c1[j];
 
  main := s;
 
end;
 
Begin
 
  Write('Vvedite koli4estvo elementov: ');
  Readln(n);
 
  for l := 1 to n do
  begin
    Write('Vvedite element #',l,': ');
    Readln(c[l]);
  end;
 
  Write('Vvedite a: ');
  Readln(a);
  Write('Vvedite b: ');
  Readln(b);
 
  d := main(c,n,a,b,m);
 
  Writeln('--------------------');
  Writeln('Koli4estvo elementov d: ',m:0);
  Write('Massiv d: ');
 
  for l := 1 to m do
     Write(d[l]:0:0,' ');
 
  readln;
 
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 12:08
Ответы с готовыми решениями:

Создать оконное приложение
помогите сделать плз, спасибо заранее

Переделать консольное приложение в оконное
Помогите переделать в графический интерфейс type st = String; var ...

Написать оконное приложение, содержащее заданные компоненты
1)Форма должна содержать следующие компоненты: Label Button ComboBox Memo...

Написать простое оконное приложение Turbo Delphi
Написать программу, взаимодействие с которой производится с помощью окна. В...

приложение(*) где по нажатию кнопки эти файлы распаковывались бы в директорию в которой лежит приложение(*)...
Есть 2 файла 222.pck 5556.dll нужно сделать приложение(*) где по нажатию кнопки...

6
ZfoxAK
505 / 489 / 222
Регистрация: 26.11.2012
Сообщений: 1,929
10.12.2013, 12:52 2
Цитата Сообщение от Zixer Посмотреть сообщение
В основном очень нужна запись процедуры.
Поясните, что под этим подразумеваете?
Процедура из консоли почти без изменения перейдет в оконное приложение.
почти т.к. в процедуре есть ошибка
Цитата Сообщение от Zixer Посмотреть сообщение
for i := 1 to n do
Delphi
1
for i := 1 to n1 do
- думаю правильней. аналогично и для второго цикла.
0
Zixer
0 / 0 / 1
Регистрация: 05.12.2013
Сообщений: 8
10.12.2013, 21:17  [ТС] 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
unit Unit2;
 
interface
procedure mas1 (c,x:array of real; a,b:integer; k:integer);
implementation
procedure mas1;
Var i,i1,i2:integer;
begin
i:=0;
 for i:=low(c) to high(c) do
  begin
  while (i<=high(c)) and (c[i]<>A) do
  i:=i+1 ;
  else
 
    begin
    if c[i]=a then
    i1:=i;
    i:=i+1;
    else
    k:=0
       begin
       while (i<=high(c)) and (c[i]<>B) do
       i:=i+1;
       else
          begin
          if c[i]=b then
          i2:=i-1;
          k:=i2-i1+1;
            begin
            i:=0;
            while i<=k-1 do
            x[i]:=c[i1+i];
            i:=i+1;
            end;
          end;
       end;
    end ;
  end;
 
 
end;
end.
0
ZfoxAK
505 / 489 / 222
Регистрация: 26.11.2012
Сообщений: 1,929
11.12.2013, 05:26 4
Delphi
1
2
3
4
5
procedure mas1 (c,x:array of real; a,b:integer; k:integer);
Var i,i1,i2:integer;
begin
..
..
0
Zixer
0 / 0 / 1
Регистрация: 05.12.2013
Сообщений: 8
11.12.2013, 19:30  [ТС] 5
Дело в том, что надо было мне сделать автономный модуль)
0
ZfoxAK
505 / 489 / 222
Регистрация: 26.11.2012
Сообщений: 1,929
12.12.2013, 05:17 6
Цитата Сообщение от Zixer Посмотреть сообщение
Дело в том, что надо было мне сделать автономный модуль)
Что под этим подразумевается?
0
Zixer
0 / 0 / 1
Регистрация: 05.12.2013
Сообщений: 8
15.12.2013, 20:47  [ТС] 7
Допилил, запускается, но выводит одни нули
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
unit Unit2;
 
interface
  procedure new_ind(var c,x: array of integer;a,b:integer; Var k:integer);
implementation
  procedure new_ind;
  var   i,i2,i1:integer;
  begin
       k:=0;
        i:=0;
        while (i<=high(c)) and (c[i]<>a) do
        i:=i+1;
        if(c[i] = a) then
           begin
           i1:=i;
           i:=i+1;
 
 
             while (i<=high(c)) and (c[i]<>b) do
             i:=i+1;
             if C[i]=b then
             begin
             i2:=i-1;
             k:=i2-i1+1;
             i:=0;
             if i<=k-1 then
             begin
             x[i]:=c[i1+i];
             i:=i+1;
             end;
             end ;
 
 
 
           end
 
 
  end;
end.
0
15.12.2013, 20:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2013, 20:47

Граф. приложение+библиотеки+консольное приложение! Не работает программа без использования консоли. Если использую, то всё прекрасно работает.
Ребята нужна помощь,все вроде сделал, но приложение начинает зависать при...

Оконное приложение на C++
Товарищи программисты, помогите пожалуйста перейти с делфи на с++. Для начала...

Оконное приложение
И снова здравствуйте. Изучаю С++, только в самом начале. Консольные приложения...


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

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

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