Паскаль. Программа работает, но выдает не тот результат - вставляет заданное число на первое место и
5-9 класс
|
зачем-то меняет другими числами оставшиеся элементы массива. Что надо исправить?
Условие: Вставить перед первым четным элементом массива заданное число.
program vstavka;
var i,n,k,z:integer;
a:array[1..1000] of integer;
begin
assign (input,'input.txt');
assign (output,'output.txt');
reset (input);
rewrite (output);
readln(n,z);
for i:=1 to n do read (a[i]);
i:=a[1];
for i:=1 to n do
if a[i] mod 2=0 then
begin
for k:=n+1 downto k+1 do
a[i]:=a[i-1];
a[k]:=z;
n:=n+1; break;
end;
for i:=1 to n do write(a[i],' ');
close (input);
close (output);
end.
program vstavka;
var i,n,k,z:integer;
a:array[1..1000] of integer;
begin
assign (input,'input.txt');
assign (output,'output.txt');
reset (input);
rewrite (output);
readln(n,z);
for i:=1 to n do read (a[i]);
i:=a[1]; // что это? Удаляем
for i:=1 to n do
if a[i] mod 2=0 then
begin
k:= i;
for i:=n+1 downto k+1 do
a[k]:=a[k-1]; // вместо i берем k
a[k]:=z;
break;
end;
for i:=1 to n do write(OutPut, a[i]:4);
close (input);
close (output);
end.
Теперь должно работать
Другие вопросы из категории
Вывести на экран таблицу перевода евро в рубли, от 1 до 25 по текущему курсы. Ввести с клавиатуры.
требуется делать пешеходу ( ждать , приготовится , идти )
вот формула:1/2*квадратный корень из 2*a^2+2*c^2-b^2
как то так
Определить, какое количество отрицательных чисел записано в начале последовательности.
Условный оператор не использовать. ПАСКАЛЬ. НУжно без массивов и так далее.
ТЕМА ЦИКЛ
30 баллов даю
помогите плиз
технология
Читайте также
созданной программы не менее трех тестов и проверить на них правильность работы алгоритма.
БЕЗ МАССИВА
ПОЖАЛУЙСТА
+194884839383948 К КАРМЕ ТОМУ КТОНАПИШЕТ
2)Составьте программу,которая заполняет массив e[1..8] случайными целыми числами в диапазоне от 1 до 20 и находит сумму элементов с нечётными значениями и количество элементов кратных 3.
3)Составьте программу,которая заполняет массив e[1..14] случайными целыми числами в диапазоне от -10 до 10,затем изменяет знак положительных элементов на противоположный,а отрицательные элементы заменяет на 0.Спасибо.
или s. 5. Напшите программу, при выполнение которой выводится 1, если заданное число х принадлежит отрезку (a;b), или 0 в противном случае
1. С клавиатуры вводят слово и символ. Составть программу, которая:
а) проверяет, есть ли в этом слове заданный символ;
б) определяет позицию заданного символа;
в) подсчитывает количество вхождений заданного символа.
2. С клавиатуры вводят строку и слово. Составть программу, которая:
а) определяет позицию заданного слова;
б) удаляет заданное слово;
в) вставляет в строку заданное слово.
3. Составть программу, которая:
а) из строки "Волга, Днепр, Неман, Енисей" удаляет названия рек, не протекающих по территории Беларуси;
б) из строки "Брест, Бобруйск, Витебск, Гомель, Мозырь, Могилев" удаляет названия городов, не являющихся областными центрами.
4. Составть программу, которая:
а) в строке "край озер" добавляет слова "лесов и рек";
б) в строке "я учусь в школе" заменить слова "в школе" на "в 10-ом классе".
5. Составть программу, которая переставляет на первое место:
а) в строке "моя родина Беларусь" слово "Беларусь";
б) в строке "люблю цябе мой родны кут" слова "мой родны кут".