Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2007, 17:54   #1
-ZaK-
Новичок
Джуниор
 
Регистрация: 09.11.2007
Сообщений: 2
По умолчанию Паскаль. Задачка по массиву

Здравствуйте.
Недавно начал изучать Паскаль, всё вроде бы шло неплохо, пока не наткнулся на одну задачку. С виду задачка проще не бывает

Цитата:
В массиве после каждого чётного числа добавить 0 (предусмотреть заранее необходимую длину рабочего массива, чтобы
была возможность его расширения)
в общем вот мой вариант:

Цитата:
var
a:array[1..10] of integer;
i,k,N:integer;
begin
for i:=1 to 5 do read (a[i]);
N:=5;
for i:=5 downto 1 do begin
if a[i] mod 2=0 then
begin
k:=a[i+1];
a[i+1]:=0;
a[i+2]:=k;

N:=N+1; end; end;
for i:=1 to N do write (a[i],' ');
writeln ('n= ',N); end.
я практически уверен, что ошибка где-то в выделенных строчках, но как не крутил задачу, так и не смог заставить её корректно работать.
Пожалуйста, помогите, кому не сложно, найти ошибку в этом алгоритме.
Зарание спс
-ZaK- вне форума Ответить с цитированием
Старый 09.11.2007, 19:35   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Код писать лень, т.к. с мобилы.
Алгоритм:
1. Читаем исходные значения массива
2. С первого элемента проверяем, является ли значение четным.
2.1 Да: с предпоследнего элемента массива начинаем копирование элементов до порядкового номера текущего элемента, на его значение записываем 0.
2.2 Нет: следующий элемент.
3. Вывод результата.
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 09.11.2007, 20:16   #3
sergey07
 
Регистрация: 07.11.2007
Сообщений: 7
По умолчанию

А мвссив в задаче должен задаваться произвольным образом? или грузиться с файла?

Последний раз редактировалось SuperVisor; 10.11.2007 в 19:57.
sergey07 вне форума Ответить с цитированием
Старый 09.11.2007, 20:39   #4
-ZaK-
Новичок
Джуниор
 
Регистрация: 09.11.2007
Сообщений: 2
По умолчанию

массив любой, задаётся пользователем произвольным образом
-ZaK- вне форума Ответить с цитированием
Старый 09.11.2007, 22:19   #5
north
Пользователь Подтвердите свой е-майл
 
Регистрация: 06.11.2007
Сообщений: 68
По умолчанию

Код:
program t1;
var n,p,i,x,g,j:longint;
a:array[1..10000] of longint;
begin
n:=0;
while not eoln do begin
     inc(n);
     read(a[n]);
     end;
i:=0;
while i<=n do begin
    inc(i);
    if (a[i] mod 2 =0) and (a[i]<>0) then begin
        p:=a[i+1];
        a[i+1]:=0;
        inc(n);
        j:=i+2;
        while j<=n do begin
            x:=a[j];
            a[j]:=p;
            p:=x;
            inc(j);
            end;
        end;
    end;
for g := 1 to n do write(a[g],' ');
writeln;
end.
Есть кнопка "Правка" + код заключаем в тэги. SupVis.

Последний раз редактировалось SuperVisor; 10.11.2007 в 20:04.
north вне форума Ответить с цитированием
Старый 20.03.2009, 23:15   #6
Jacknolf
Новичок
Джуниор
 
Регистрация: 20.03.2009
Сообщений: 1
По умолчанию

помогите пожалуйста очень надо:
Выполнить над прямоугольной матрицей В размером m х n последовательность действий, указанную в задании.
а) Заменить заданным вектором строки В, которые содержат хотя бы один отрицательный элемент;

б) в полученной матрице вычислить суммы элементов строк, номера которых не являются элементами заданного целочисленного вектора.
Jacknolf вне форума Ответить с цитированием
Старый 18.10.2010, 00:08   #7
Ярослав 89
Новичок
Джуниор
 
Регистрация: 30.04.2010
Сообщений: 1
По умолчанию

Помогите решить задачу в турбо паскале.
В однородном массиве заменить все элементы A[i] на сумму A[i]+A[i+1].
Ярослав 89 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
паскаль l помогите доделать задачу по одномерн массиву braza Паскаль, Turbo Pascal, PascalABC.NET 15 27.04.2008 14:33
Паскаль. Задачка с рекурсией! Irdis Помощь студентам 10 14.04.2008 00:00
узнать, принадлежит ли значение массиву Жираффа Microsoft Office Excel 4 25.03.2008 14:59
Задачка. Паскаль. Nexx Помощь студентам 5 30.11.2007 18:16
Паскаль. Задачка с массивами. ProPaL Помощь студентам 4 11.11.2007 18:58