Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.06.2009, 23:14
Kurilka Kurilka вне форума
Прохожий
 
Регистрация: 18.06.2009
Сообщения: 2
Репутация: 10
По умолчанию Помогите пожалуйста с курсовой

Всем привет.

Пожалуйста, кому не сложно, помогите со следующими заданиями:
#1
Цитата:
В зрительном зале 25 рядов, в каждом из которых 30 мест. Информация о проданных билетах хранится в двухмерном массиве. Если билет на какое-то место продан, то элемент массива имеет 1, в противном случае 0.

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

#2
Цитата:
Даны 2 текстовых файла, содержащих числовые данные.
1 файл содержит 5 строк по 4 столбца, 2 файл – 4 строки по 4 столбца
а) Слить эти файлы в новый файл и найти количество чисел больше введенного с клавиатуры критерия
б) В новом файле найти количество чисел четных и кратных N, а также сумму чисел каждой строки
в) Определить среди сумм строк количество данных, сумма цифр которых является четным числом
(Для работы с файлами использовать диалоговые окна.)

#3
Цитата:
В двумерном массиве содержатся данные о доходах 5 предприятий с января по июнь месяц

Определить:
а) Средний доход по каждому предприятию, вывести список предприятий с доходом выше среднего
б) Найти суммарный доход за каждый месяц, определить месяц с максимальным доходом
в) Сохранить в файле список предприятий, отсортированный по убыванию среднего дохода

Это оставшиеся какие у меня сделать не получилось, как ни пытался. А завтра сдавать :-\ Очень прошу помочь!
Заранее благодарю.
Ответить с цитированием
  #2  
Старый 19.06.2009, 00:07
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,048
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Обычная задача на массив.
Код:
var
  Places : Array[1..30,1..25] Of Integer;

function FreeInRow(ARow : Integer) : Integer;
var
  I : Integer;
begin
  Result := 25;
  For I := 1 To 25 Do
    Result := Result - Places[ARow,I];
end;

function FreeTotal : Integer;
var
  I : Integer;
begin
  Result := 0;
  For I := 1 To 30 Do
    Result := Result + FreeInRow(I);
end;

function BusyInRow(ARow : Integer) : Integer;
begin
  Result := 25 - FreeInRow(ARow);
end;

function BusyTotal : Integer;
begin
  Result := 25 * 30 - FreeTotal;
end;

function UnwantedRow : Integer;
var
  I : Integer;
  N : Integer;
begin
  N := 0;
  Result := 0;
  For I := 1 To 30 Do
    If N > FreeInRow(I) Then 
      Begin
         Result := I;
         N := FreeInRow(I);
      End;
end;

function MaxFreeLineInRow(ARow : Integer) : Integer;
var
  I : Integer;
  F : Integer;
begin
  Result := 0;
  F := 0;
  I := 1;
  While I <= 25 Do
     Begin
        Case Places[ARow,I] Of
           0 : Inc(F);
           1 :
              Begin
                 If Result < F Then Result := F;
                 F := 0;
              End;
        End;
        Inc(I);
    End;
end;

function GetMaxLineRow : Integer;
var
  I : Integer;
  N : Integer;
begin
  Result := 0;
  N := 0;
  For I := 1 To 30 Do
    If N <  MaxFreeLineInRow(I) Then
      Begin
         N := MaxFreeLineInRow(I);
         Result := I;
      End;
end;

function GetMaxLineNumber : Integer;
var
  I : Integer;
  N : Integer;
begin
  Result := 0;
  For I := 1 To 30 Do
    If Result <  MaxFreeLineInRow(I) Then
      Begin
         Result := MaxFreeLineInRow(I);
      End;
end;

Набора этих функций достаточно что бы решить первую задачу полностью.

Извини, над другими просто лень думать...
Ответить с цитированием
  #3  
Старый 19.06.2009, 11:30
Kurilka Kurilka вне форума
Прохожий
 
Регистрация: 18.06.2009
Сообщения: 2
Репутация: 10
По умолчанию

Благодарю, с первым разобрался. А со вторым можете помочь кто-нибудь?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:10.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter