23.12.2013, 12:56 | #1 (permalink) |
Member
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Застопорился в написании вектора
const n1 = 20; type index1 = 1..n1; index2 = 1..n1; vectorA = array[index1] of Integer; vectorB = array[index2] of Integer; var n, i: index1; m, j: index2; k: Integer; A: vectorA; B: vectorB; begin write('количество элементов n= '); readln(n); writeln('_____________________________________'); writeln('вектор (А):'); for i := 1 to n do begin A[i] := random(41) - 20; write(A[i]:5); end; writeln; writeln('_____________________________________'); for i := 1 to n do if ((A[i]) < 0) then begin k := (A[i]); writeln(k); end; end. |
23.12.2013, 12:56 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Вот топики, которые должны вам во многом помочь Прошу помощи в написании программы. С++ Помощь в написании программы на Паскале Нужна помощь в написании программы |
23.12.2013, 14:34 | #3 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
const n1 = 20; type index1 = 1..n1; vectorA = array[index1] of Integer; var n,i:byte; A: vectorA; begin write('количество элементов n= '); readln(n); writeln('_____________________________________'); writeln('вектор (А):'); for i := 1 to n do begin A[i] := random(41) - 20; write(A[i]:5); end; writeln; writeln('_____________________________________'); i:=0; Repeat Inc(i); if A[i]<0 then writeln(A[i]:5); Until (A[i]<0) or (i=n); end. |
|
23.12.2013, 15:15 | #5 (permalink) |
Member
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
оу. прошу прощения. не правильно поставил задачу. здесь нужно не вывести (вывести я просил для наглядности), а именно присвоить значение первого отр эл-та вектора значению (k). поэтому вопрос актуален.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
23.12.2013, 15:24 | #6 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
... var n,i:byte; A: vectorA; k:integer; begin ... i:=0; k:=0; Repeat Inc(i); if A[i]<0 then begin k:=A[i]; writeln(k:5); end; Until (k<0) or (i=n); end. |
|
23.12.2013, 17:04 | #7 (permalink) |
падаван
Регистрация: 23.01.2013
Сообщений: 739
Сказал(а) спасибо: 307
Поблагодарили 27 раз(а) в 3 сообщениях
Репутация: 10792
|
А вас не смущает тот факт что создается массив из 20 элементов а забивается произвольное количество n, заданное пользователем?
а что плохого в break? если конечно в цикле нет манипуляций с памятью |
23.12.2013, 17:27 | #8 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
|
|
24.12.2013, 01:16 | #10 (permalink) |
Member
Регистрация: 06.12.2013
Сообщений: 25
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
собственно вот для чего это нужно было:
const n1 = 50; type index1 = 1..n1; index2 = 1..n1; vectorA = array[index1] of Integer; vectorB = array[index2] of Integer; var n, i: index1; m, j: index2; k: Integer; A: vectorA; B: vectorB; begin write('количество элементов n= '); readln(n); writeln('_____________________________________'); writeln('вектор (А):'); for i := 1 to n do begin A[i] := random(41) - 20; write(A[i]:5); end; writeln; writeln('_____________________________________'); i := 0; repeat i := i + 1; if A[i] < 0 then begin k := A[i]; write('первый отрицательный элемент '); write(k); end; until (k < 0) or (i = n); writeln; writeln('Вектор (В):'); m := 0; for i := 1 to n do if ((A[i]) < k) then begin m := m + 1; B[m] := A[i]; end; for j := 1 to m do write(B[j]:4); writeln end. посмотрите пожалуйста - не ляпнул ли я чего лишнего? защит пока не делал. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|