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

Работа с файламы

18.10.2013, 18:18. Показов 434. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Может кто нибудь помочь мне с программой. У меня тут проблема в том, что когда программа запускаю у меня меню 2 должен работать с данными которые я вёл первый раз (т.е без ввода данных (без меню 1)). Мне тут надо ввести в экран все элементы до 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
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
program p1;
uses crt;
var f:file of integer;
    n,i,j,k:integer;
    c:integer;
    p:byte;
    a:array[0..1000] of integer;
Procedure MENU(var p:byte);
  var i:integer;
    Begin
      writeln('Menu');
      writeln('1.Vvod dannih');
      writeln('2.Obrabotka faila');
      writeln('3.Vivod faila');
      writeln('4.vihod');
      writeln;
      writeln('vash vibor - ') ;
      readln(p);
      writeln;
    end;
Begin
clrscr;
Assign (f,'d:\real\data1.txt');
reset(f);
IF filesize (f)=0 then
writeln ('fail pust')
else
  begin
    writeln ('fail ne pust');
    writeln;
    writeln ('fail soderzhit');
    while not Eof (f) Do
      begin
        read (f,a[i]);
        writeln (a[i]);
      end;
  end;
BEGIN
  repeat
  MENU(p);
Begin
  case p of
     1:Begin
           rewrite (f);
           writeln('Vvod/Vivod dannih');
           Write ('vvedite kolichestvo chisel n=');
           Readln (n);
           writeln ('Vvedite elementi massiva:');
           for i:=1 to n do
             begin
               Write('a[',i,']=');
               read (a[i]);
               write (f,a[i]);
             end;
           close (f);
       end;
     2:Begin
        reset (f);
        while not Eof (f) Do
          begin
            read (f,a[i]);
            writeln (a[i]);
          end;
            writeln ('nakhodim vse elementi do 1 chyotnogo');
            j:=0;
            k:=0;
            for i:=n downto 1 do
              begin
                if (a[i] mod 2 =0) then
                k:=i;
              end;
 
            if k=0 then
            writeln('V massive net chisla chetnoe')
           else
              begin
                for i:=1 to k-1 do
                writeln (a[i]);
              end;
           close (f);
         end;
      3:Begin
        writeln('Vivod elementov faila');
        reset (f);
        while not Eof (f) Do
          begin
            read (f,a[i]);
            writeln (a[i]);
          end;       
 4:begin
 writeln('vihod');readln;
   end;
End;
end;
until
  p=4;
readln;
END;
end.
 Комментарий модератора 
Теги кода добавлены модератором. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Pascal следует поместить этот код в теги: [PASCAL] - [/PASCAL]. Это можно сделать вручную или можно выделить код и на панели редактирования сообщения нажать кнопку: "PASCAL".
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2013, 18:18
Ответы с готовыми решениями:

Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления
Помогите пожалуйста найти летиратуру, в которой бы описывались работа с событиями,работа со всеми...

Работа - проведение обучающих семинаров по C#. Работа по выходным дням ( сб-вс - 32 часа). От 30 000р.
Обязанности - проведение обучающих семинаров по C# Базовый (начальный уровень). Опыт...

Работа с Меню. Сохранение, печать, создать новый. Работа с рисованием
В общем сабж. Делается программа, которая должная Сохранять, печатать и очищать поле (создать...

Работа формы в фоне, вне фокуса (работа с раскладкой клавиатуры)
Как заставить это работать в фоне? Даный код работает пока форма в фокусе, как только ее...

2
40 / 40 / 34
Регистрация: 16.02.2013
Сообщений: 197
20.10.2013, 21:13 2
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
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
program Lab1;
uses crt;
 
var f:file of integer;
    i,j,k,n:integer;
    c:integer;
    p:byte;
 
    a:array[0..1000] of integer;
 
 
procedure zz1;
begin
           rewrite (f);
           writeln('Vvod/Vivod dannih');
           Write ('vvedite kolichestvo chisel n=');
           Readln (n);
 
 
           writeln ('Vvedite elementi massiva:');
           for i:=1 to n do
             begin
               Write('a[',i,']=');
               read (a[i]);
               write (f,a[i]);
             end;
 
End;
//====================
procedure zz2;
begin
          reset (f);
          while not Eof (f) Do
          begin
            read (f,a[i]);
            writeln (a[i]);
          end;
            writeln;
            writeln ('nakhodim vse elementi do 1 chyotnogo');
            k:=0;
            reset (f);
          while not Eof (f) Do
          begin
            read (f,a[i]);
            if (a[i] mod 2 =0) then
            break;
            k:=k+1;
            writeln (a[i]);
          end;
            writeln('');
            if k=0 then
            writeln('V massive net nechetnih chisel stoyashich do 1  chetnogo');
            if not (a[i] mod 2 =0) then
            writeln('V massive net chetnih chisel');
End;
//====================
procedure zz3;
begin
       writeln('Vivod elementov faila');
        reset (f);
         while not Eof (f) Do
          begin
            read (f,a[i]);
            writeln (a[i]);
          end;
End;
//====================
procedure zz4;
begin
writeln('vihod');
close (f);
End;
//====================
begin
clrscr;
Assign (f,'e:\Программирование и алгоритмизация\data1.txt');
reset(f);
IF filesize (f)=0 then
writeln ('fail pust')
else
  begin
    writeln ('fail ne pust');
    writeln;
    writeln ('fail soderzhit');
    while not Eof (f) Do
      begin
        read (f,a[i]);
        writeln (a[i]);
      end;
  end;
 
 
repeat
  WriteLn;
  WriteLn('Menu:');
  WriteLn('vash vibor:');
  WriteLn( '1 - Vvod dannih.');
  WriteLn( '2 - Obrabotka faila');
  WriteLn( '3 - Vivod faila');
  WriteLn( '4 - vihod.');
  Read(p);
  case p of
  1: zz1;
  2: zz2;
  3: zz3;
  4: zz4;
  end;
 
Until p=4;
end.
1
1 / 1 / 0
Регистрация: 23.05.2013
Сообщений: 203
21.10.2013, 17:01  [ТС] 3
Тут можно ещё использовать в место break другую цикл но тебя спасибо Basill
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2013, 17:01
Помогаю со студенческими работами здесь

Количество подведенного и отведенного тепла, работа сжатия, работа расширения
Определить количество подведенного и отведенного тепла, работу сжатия, работу расширения, полезную...

Работа с файловой системой (системное название некоторых папок и работа со скрытыми документами)
Всем привет, подскажите каким образом можно из VBA сохранить документ txt в папке "Общие...

Нужна книга, где рассматриваются работа с прерываниями, указатели, работа с памятью, ассемблерные вставки
Привет всем! Подскажите, пожалуйста, хорошую книгу по C (именно C, не C++). Интересует работа с...

Работа с файлом (корректный код, некорректная работа программы)
Для записи и чтения файла использую разные функции. По одиночке они работают нормально. Вставляю...


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

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

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