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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2014, 12:33   #1
minkin
 
Регистрация: 09.04.2014
Сообщений: 6
По умолчанию Помогите пожалуйста с программой по паскалю

Нужно составить программу.
Если в столбцах,встретился элемент,равный сумме первых двух элементов текущего столбца,то удалите строки, в которых они находятся.Удалите столбцы,в которых первый элемент нулевой.Если такого столбца или строки нет,то вывести сообщение об этом.
minkin вне форума Ответить с цитированием
Старый 10.04.2014, 12:44   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Ну а в чем конкретно проблем? Где наработки?
Не вижу ничего сверхъестественного в задании.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 10.04.2014, 17:08   #3
minkin
 
Регистрация: 09.04.2014
Сообщений: 6
По умолчанию

удаление строк и столбцов не получается.

Код:
Program x1; uses crt;
const
    M = 3;
    N = 5;
var
    a: Array[1..N,1..M] of integer;
    b: Array[1..N,1..M] of integer;
    i,j,b1,b2: integer;
begin clrscr;
    Randomize;
    for i := 1 to N do //заполнение массива
        for j := 1 to M do
            a[i,j]:=random (5);
    for i := 1 to N do begin
        for j := 1 to M do
            write (a[i,j]:5);
            writeln;
    end;
        writeln;
    for j := 1 to M do begin
        b1:=a[1,j]+a[2,j];
        write (b1:5);
        if b1=a[3,j] then write ('0':5) else write(a[3,j]:5);
        if b1=a[4,j] then write ('0':5) else write(a[3,j]:5);
        if b1=a[5,j] then write ('0':5) else write(a[3,j]:5);
        writeln;
    end;
        writeln;
    for j := 1 to M do begin
        b2:=a[1,j];
        if b2=0 then write ('0') else write(b2);
        writeln;
    end;
end.
minkin вне форума Ответить с цитированием
Старый 10.04.2014, 17:52   #4
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Ладно, допустим. А что Вы хотели сказать своим кодом?
Например почему выводятся 3 элемента из столбца вот тут
Код:
        if b1=a[3,j] then write ('0':5) else write(a[3,j]:5);
        if b1=a[4,j] then write ('0':5) else write(a[3,j]:5);
        if b1=a[5,j] then write ('0':5) else write(a[3,j]:5);
?

Не претендую на правильность, но на Вашем месте я бы ввел 2 массива, один размерностью N, другой - M. Булевые (boolean). По умолчанию значение всех элементов - false.
Дальше начинаете поиск по условиям. Нашли условие, по которому столбец надо удалить - флажок соответствующего столбца в true. Нашли строку, которую надо удалить - флажок строки в true.
И при выводе смотрите на флажки, если true - ничего не выводится, если false - выводится текущее значение.

Как-то так.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 10.04.2014, 18:03   #5
minkin
 
Регистрация: 09.04.2014
Сообщений: 6
По умолчанию

а как будет выглядеть все это в виде коде, просто не очень понимаю как это сделать?
minkin вне форума Ответить с цитированием
Старый 10.04.2014, 19:16   #6
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

В псевдопаскале как-то так:

Код:
bool1 : array [1..M] of boolean;
bool2 : array [1..N] of boolean;
...
for 1 to M do
  begin
  if (a1[M,1] = 0) then bool1[M] := true;
  for 3 to N do
    if (a1[M,1]+a1[M,2] = a1[M,N]) then bool2[N] := true;
  end;
for (...)
 for (...)
   if (bool1[M] and bool2[N]) then ...
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите пожалуйста с программой mital25 Помощь студентам 4 06.03.2014 21:42
Помогите пожалуйста с программой на Си logas83 Помощь студентам 23 13.10.2013 19:48
Помогите ,пожалуйста с программой!! Artem04 Паскаль, Turbo Pascal, PascalABC.NET 0 04.06.2009 16:05
Помогите пожалуйста с программой! SfSpawN Помощь студентам 8 25.05.2009 17:39