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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2013, 20:23   #1
lucas15@mail.ru
Новичок
Джуниор
 
Регистрация: 13.04.2013
Сообщений: 2
По умолчанию Школьная скамья

Господа, кто-нибудь поможет решить школьную программу?

Решить задачи по обработке массивов:
1) Дан числовой массив A (N). Удалить отрицательные элементы массива, уплотнив массив.
2) Для произвольного числа N построить массив A (N, N) целых чисел, вида:
n n-1 n-2…. 1
0 n n-1 2
0 0 n 3
0 0 0 n



Решить задачу по обработке строковых данных с использованием подпрограмм:
а) Дано число в восьмеричной системе счисления. Используя подпрограмму перевести его в десятичную систему счисления.

Решить задачу по обработке записей:
Кулинарная книга содержит перечень блюд с необходимым набором продуктов. Вывести на экран для заданного блюда - его продукты.

Решить задачу по обработке файлов данных с использованием динамической памяти (указателей):
Создать файл вещественных чисел. Разместить элементы файла в динамической памяти в односвязном линейном списке. Найти среднее арифметическое положительных элементов списка.
lucas15@mail.ru вне форума Ответить с цитированием
Старый 13.04.2013, 21:25   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
1) Дан числовой массив A (N). Удалить отрицательные элементы массива, уплотнив массив.
Обсуждалось очень много раз!

Цитата:
Для произвольного числа N построить массив A (N, N) целых чисел, вида:
Не совсем понял правило заполнения..

Цитата:
Решить задачу по обработке файлов данных с использованием динамической памяти (указателей):
Не умею! Каюсь..

Цитата:
а) Дано число в восьмеричной системе счисления. Используя подпрограмму перевести его в десятичную систему счисления.
Напишите как сделать это на бумажке, тогда я Вам помогу
Цитата:
Кулинарная книга содержит перечень блюд с необходимым набором продуктов. Вывести на экран для заданного блюда - его продукты.
Опишите тип запись и массив записи, тогда я Вам помогу (внимание! я так понимаю что вводим мы так :
Код:
1 // Кол-во рецептов в книге
бутерброд "Завтрак студента" // название
Хлеб, майонез // необходимые продукты
пельмени // то что ищем
)
Вывод :
Код:
Ничего не найдено!
Так?
Poma][a вне форума Ответить с цитированием
Старый 13.04.2013, 22:01   #3
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
...
Не совсем понял правило заполнения..
...
Код:
    for (i = 0; i < N; i++)
        for (j = 0; j < N; j++)
            a[i][j] = (j < i) ? 0 : N - j;
Изображения
Тип файла: png 1.png (5.0 Кб, 89 просмотров)
Μολὼν λαβέ
alexander13 вне форума Ответить с цитированием
Старый 13.04.2013, 22:04   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Спасибо! А можно вот это :
Цитата:
(j < i) ? 0 : N - j;
на паскале? Просто не очень понятен это пикантный момент
Poma][a вне форума Ответить с цитированием
Старый 13.04.2013, 22:05   #5
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Извиняюсь, ошибся малость, невнимательно посмотрел на условие. Надо все же так
Код:
    for (i = 0; i < N; i++) 
        for (j = 0; j < N; j++) 
            a[i][j] = (j < i) ? 0 : N - j + i;
И картинка там будет такая


Upd.
На паскале.. ну как.. если я еще не совсем забыл паскаль, то
Код:
if (j < i) then
   a[i, j] := 0
else
   a[i, j] := N - j + i;
Upd. 2
Вот.
Изображения
Тип файла: png 1.png (4.8 Кб, 92 просмотров)
Μολὼν λαβέ

Последний раз редактировалось alexander13; 13.04.2013 в 22:08.
alexander13 вне форума Ответить с цитированием
Старый 13.04.2013, 22:08   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Poma][a,
Код:
a[i][j] = (j < i) ? 0 : N - j + i;
будет
Код:
if j < i then
  a[i, j] := 0
else
  a[i, j] := N - j + i;
lucas15@mail.ru, где же Ваши наработки?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 13.04.2013, 22:08   #7
lucas15@mail.ru
Новичок
Джуниор
 
Регистрация: 13.04.2013
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Напишите как сделать это на бумажке, тогда я Вам помогу

Опишите тип запись и массив записи, тогда я Вам помогу
Меня устроит любая возможная запись...
lucas15@mail.ru вне форума Ответить с цитированием
Старый 13.04.2013, 22:10   #8
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

alexander13, BDA, спасибо!
Могу предложить такой вариант (не проверял)

Код:
Ord(j>=1) * (N- j + 1)
Poma][a вне форума Ответить с цитированием
Старый 13.04.2013, 22:19   #9
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Спасибо! А можно вот это : на паскале? Просто не очень понятен это пикантный момент
Код:
(j < i) ? 0 : N - j;
Это так называемый арифметический условный оператор. Он присваивается какой-то переменной.

Синтаксис такой:
<ИмяПеременной> = <Логическое выражение> ? <Значение, если выражение истинно> : <Значение, если выражение ложно>

Пример:
Код:
a = (k > 0) ? 'Hello' : 'GoodBye';
если число k будет больше нуля, то переменная a будет иметь значение 'Hello'. В противном случае, она будет иметь значение 'GoodBye'
Вадим Мошев вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школьная олимпиадная задача GreenMan Паскаль, Turbo Pascal, PascalABC.NET 14 23.11.2012 15:37
школьная задача(пример) vanushka Паскаль, Turbo Pascal, PascalABC.NET 9 14.11.2011 18:07
Школьная задача по информатике(алгоритм) Soko123 Помощь студентам 6 22.12.2010 19:13
Школьная сеть. Freemaks Свободное общение 3 19.12.2010 10:24
Школьная олимпиада 9-10 классов(Молдова, Кишинев) KiDoki Паскаль, Turbo Pascal, PascalABC.NET 7 04.12.2008 22:13