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

В массиве чисел заменить числа равные А или В на нули, подсчитать количество замен и зафиксировать их места.

26.05.2013, 15:41. Показов 542. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уповаю на Ваши знания pascal, уважаемые жители сего форума и прошу подсказать или направить на путь истинный, желательно с объяснениями, буду рад любой помощи. Заранее благодарю за потраченное время.

2. В массиве чисел заменить числа равные А или В на нули, подсчитать количество замен и зафиксировать их места.

(Программирование процедур).


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


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
Program Lab 2;
    uses crt;
    const
            n=10; x=5; y=2;
    type
           mass=array[1..n] of real;
    var
          a,b: mass;
          i,k:  integer;
          pos: array [1..n] of integer;
   procedure Vv (k: integer; var arr: mass);
                 var i: integer;
                 begin
                        writeln ('Vv. razmer massiva: ');
                        for i:=1 to n do
                        begin
                               write ('a[',i,']=');
                               readln(a[i]);
                 end;
   procedure Viv (k: integer; var arr: mass);
                 var i: integer;
                     begin
                        writeln ('Vivod massiva: ');
                        for i:=1 to n do
                        write (i,':',a[i]:4:2,' ');
                        writeln;
                        readln;
                    end;
        begin
           clrscr;
           Vv (n,a);
           Viv (n,a);
           k:=0;
           if a[i]=x,y then begin
           k:k+1; a[i]:=0
           b[k]:=a[i]; pos[k]:=i;
       end;
       writeln ('Izmenenny massiv');
       for k:=1 to n do;
       write (k,':',b[k]:4:2,' ');
       writeln;
       readln;
   end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2013, 15:41
Ответы с готовыми решениями:

В матрице целых чисел заменить все отрицательные элементы нулями.Подсчитать количество замен
В матрице целых чисел заменить все отрицательные элементы нулями.Подсчитать количество...

Циклы: Отрицательные числа в ячейках диапазона В2:В20 заменить нулями. В ячейке С2 подсчитать количество замен
Решите пожалуйста: Отрицательные числа в ячейках диапазона В2:В20 заменить нулями. В ячейке С2...

Заменить все члены последовательности, большие заданного числа Z, этим числом; подсчитать количество замен
Дана последовательность действительных чисел а1, а2,..., an. Заменить все ее члены, большие данного...

Заменить все члены последовательности, большие заданного числа Z, этим числом. Подсчитать количество замен
Дана последовательность чисел a1, a2, ..., an. Заменить все ее члены, большие данного Z,...

4
66 / 66 / 90
Регистрация: 27.02.2013
Сообщений: 156
26.05.2013, 19:05 2
Вот:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
read(a,b);
k:=0;
h:=0;
for i:=1 to n do
 if (c[i]=a) or (c[i]=b) then begin
   inc(h);
   inc(k);
   l[k]:=i;
 end;
writeln;
writeln('Все замен было ',h);
writeln('Были совершены замены на следующих местах: ');
for i:=1 to k do
 write(l[k]:4);
1
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 5
27.05.2013, 03:01  [ТС] 3
Помогите найти ошибку в теле, выдавал измененный массив и количество замен, как-то с выводом позиций не срослось,
а после некоторых манипуляций стал только исходный выводить.

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
Program Lab 2;
uses crt;
const
       n=10; x=5; y=2;
type
      mass=array[1..n] of integer;
var
     a: mass; 
     i,k: integer;
     pos: array [1..n] of integer;
procedure Vvod (var a: mass);
            var i: integer;
               begin 
                 clrscr; 
                 writeln ('Vv. razmer massiva: ');
                 for i:=1 to n do
                 readln(a[i]);
               end;
procedure Vivod (a: mass);
            var i: integer;
            begin
              writeln ('Vivod massiva: ');
              for i:=1 to n do
              write (i,':',a[i]:4,' ');
              writeln;
              readln;
            end;
begin
       clrscr;
       Vvod (a);
       Vivod (a);
       k:=0;
       for i:=1 to n do;
         begin
          if (a[i]=x) or (a[i]=y) then a[i]:=0;
          k:k+1;  pos[k]:=i;
         end;
          writeln ('Izmenenny massiv:'); 
          writeln (‘Zamen bilo:,k);
          writeln (‘Zameneni pozicii:);
          for i:=1 to k do;
          write (k,':',a[k]:4,' ');
          writeln;
          readln;
end.
0
66 / 66 / 90
Регистрация: 27.02.2013
Сообщений: 156
28.05.2013, 10:57 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Program Lab 2;
uses crt;
const
       n=10; x=5; y=2;
type
      mass=array[1..n] of integer;
var
     a,pos: mass; 
     i,k: integer;
procedure Vvod (a: mass);
            var i: integer;
               begin  
                 writeln ('Vv. massiva: ');
                 for i:=1 to n do
                    readln(a[i]);
               end;
procedure Vivod (a: mass);
            var i: integer;
            begin
              writeln ('Vivod massiva: ');
              for i:=1 to n do begin
                 write (i,':',a[i]:4,' ');
                 writeln;
              end;
            end;
begin
       clrscr;
       Vvod (a);
       Vivod (a);
       k:=0;
       for i:=1 to n do;
          if (a[i]=x) or (a[i]=y) then begin
             a[i]:=0;
             k:=k+1;  pos[k]:=i;
         end;
          writeln ('Izmenenny massiv:'); 
          for i:=1 to n do begin
              write(i,':',a[i]:4,' ');
              writeln;
          end;
          writeln;
          writeln ('Zamen bilo: ',k);
          writeln ('Zameneni pozicii: ');
          for i:=1 to k do begin
              write (k,':',pos[k]:4,' ');
              writeln;
          end;
          writeln;
          readln;
end.
1
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 5
28.05.2013, 20:04  [ТС] 5
Harlem, премного благодарен Вам за ответ и потраченное время, спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2013, 20:04
Помогаю со студенческими работами здесь

Дана последовательность действительных чисел a1,a2,a3,…,an. Заменить все её члены, большие данного Z, этим числом. Подсчитать количество замен.
Когда запускаю в .exe вроде работает норм, а в компиляторе ругается на Button1 на последнюю строку...

Заменить элементы массива, равные 50, на значение максимального среди положительных элементов. Определить количество замен.
Нужна помощь Специалиста по Pascal Спасибо что вы есть Помогите решить задачу на паскале: Дан...

В двумерном массиве заменить в каждой строке равные симметрично расположенные элементы на нули
1) В двумерном массиве надо заменить в каждой строке равные симметрично расположенные элементы на...

Заменить все символы ':' на '*'. Подсчитать количество замен.
С клавиатуры вводится строка символов, содержащая ":". Заменить все сиволы ':' на '*'. Подсчитать...

Заменить все буквы 'a' на 'b' и подсчитать количество замен
Вот мой код .386 .model flat, stdcall option casemap: none include...

Заменить все буквы 'A' на 'O' и подсчитать количество замен
В памяти лежит произвольный текст. Заменить в нем все буквы 'A' на 'O' и подсчитать количество...


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

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

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