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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2014, 19:58   #1
Sveta-psv
 
Регистрация: 30.09.2014
Сообщений: 5
По умолчанию ребята помогите пожалуйста нужно на завтра

10 Описать тип записи - строка зачетной книги ( зачетная сторона ) . Сформируйте массив зачетов , которые вы сдали . Разработайте программу, определяющую дни ​​когда вы сдали по два и более зачетов
Sveta-psv вне форума Ответить с цитированием
Старый 20.10.2014, 20:44   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Sveta-psv

10 Описать тип записи - строка зачетной книги ( зачетная сторона ) . Сформируйте массив зачетов , которые вы сдали . Разработайте программу, определяющую дни ​​когда вы сдали по два и более зачетов

из того, что я вижу, как-то так

Код:
#include <string>
#include <iostream>

struct Zachet
{
     std::string Predmet;
     unsigned Otsenka;
};

int main()
{
    // Сформируйте массив зачетов , которые вы сдали
    Zachet sessiya[0] = {};

    // программу, определяющую дни ​​когда вы сдали по два и более зачетов 
    std::cout << "У меня ничего не сдано, насяльника!" << std::endl;
    std::cout << "Меня надо отчислять!" << std::endl;

    return 0;
}
Rififi вне форума Ответить с цитированием
Старый 20.10.2014, 20:53   #3
sanji2010
Пользователь
 
Регистрация: 25.11.2013
Сообщений: 52
По умолчанию

Могу помочь, но не бесплатно, ибо сроки очень малы, если интересует - пиши в скайп sanji-dim
Skype sanji-dim
Свою благодарность можно выразить на счёт R393628098492
sanji2010 вне форума Ответить с цитированием
Старый 20.10.2014, 21:11   #4
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
Sveta-psv

10 Описать тип записи - строка зачетной книги ( зачетная сторона ) . Сформируйте массив зачетов , которые вы сдали . Разработайте программу, определяющую дни ​​когда вы сдали по два и более зачетов

из того, что я вижу, как-то так

Код:
#include <string>
#include <iostream>

struct Zachet
{
     std::string Predmet;
     unsigned Otsenka;
};

int main()
{
    // Сформируйте массив зачетов , которые вы сдали
    Zachet sessiya[0] = {};

    // программу, определяющую дни ​​когда вы сдали по два и более зачетов 
    std::cout << "У меня ничего не сдано, насяльника!" << std::endl;
    std::cout << "Меня надо отчислять!" << std::endl;

    return 0;
}
Так вроде ж на паскале просят.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 20.10.2014, 21:21   #5
sanji2010
Пользователь
 
Регистрация: 25.11.2013
Сообщений: 52
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Так вроде ж на паскале просят.
Так это и не код, который просит пользователь =)
Skype sanji-dim
Свою благодарность можно выразить на счёт R393628098492
sanji2010 вне форума Ответить с цитированием
Старый 20.10.2014, 23:03   #6
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Цитата:
Описать тип записи - строка зачетной книги ( зачетная сторона ) . Сформируйте массив зачетов , которые вы сдали . Разработайте программу, определяющую дни ​​когда вы сдали по два и более зачетов
Строка зачетной книжки (зачетная сторона), если память не отшибло, состоит из полей: Предмет, по которому зачет, Дата, когда был зачет, ФИО преподавателя, подпись и оценка (зачтено/отл/хор/удовл/...) - это детали.
Надо создать свой тип данных - запись.
Например так:
Код:
Type TZachet = record
   Predmet : string[20];
   DataZacheta : string[8]; {YYYYMMDD}
   FIO : string[15];
   Ball : string[10];
end;
Теперь можно в программе описать и массив зачетов. например так:
Код:
var MZachet : array[1..10] of TZachet;
Для поиска зачетов, которые сданы в один день можно использовать операцию сравнения вида:
Код:
if (MZachet[i].DataZacheta = MZachet[j].DataZacheta) then
 ...
Далее можно ...

Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 20.10.2014, 23:31   #7
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Вот готовый код:

Код:
uses
  SysUtils;
 type
   Zachet = record
     Disciple : string[30];
     FIO  : string[20];
     Ozenka: Integer;
     Date: TDateTime;
   end;

 type
   pair = record
     date: TDateTime;
     count: Integer;
   end;


   var zch: array [0..9] of Zachet;
       pairs: array [0..100] of pair;
       pairscount : integer;
       idx: Integer;

   function CreateNew(p_disc,p_fio: string; p_oc: integer; p_date: TDateTime): Zachet;
   begin
   with Result do
    begin
    Disciple := p_disc;
    FIO:= p_fio;
    Ozenka:= p_oc;
    Date  := p_date;
    end;
  end;

  function Check(item : Zachet; var PairList: array of pair;var len: Integer): Integer;
  var index: integer;
  begin
   for index := 0 to len do
   begin
     if PairList[index].date = item.Date then
     begin
        PairList[index].count:=PairList[index].count+1;
        Exit;
     end;
   end;

   PairList[len].date := item.Date;
   PairList[len].count := 1;
   len:=len+1;
   Result := len;
  end;


begin
pairscount:=0;

zch[0] := CreateNew('Matematika','Ivanov A.P',3,StrToDate('12'+DateSeparator+'06'+DateSeparator+'2002'));
zch[1] := CreateNew('Fizika','Ivanov A.P',3,StrToDate('12'+DateSeparator+'06'+DateSeparator+'2002'));
zch[2] := CreateNew('Istoria','Ivanov A.P',3,StrToDate('12'+DateSeparator+'06'+DateSeparator+'2002'));
zch[3] := CreateNew('In.yaz.','Ivanov A.P',3,StrToDate('13'+DateSeparator+'06'+DateSeparator+'2002'));
zch[4] := CreateNew('Filosofia','Ivanov A.P',3,StrToDate('14'+DateSeparator+'06'+DateSeparator+'2002'));
zch[5] := CreateNew('Mat.analiz','Ivanov A.P',3,StrToDate('14'+DateSeparator+'06'+DateSeparator+'2002'));
zch[6] := CreateNew('Diskretka','Ivanov A.P',3,StrToDate('17'+DateSeparator+'06'+DateSeparator+'2002'));
zch[7] := CreateNew('Progr. YaVU','Ivanov A.P',3,StrToDate('18'+DateSeparator+'06'+DateSeparator+'2002'));
zch[8] := CreateNew('Psihologia','Ivanov A.P',3,StrToDate('19'+DateSeparator+'06'+DateSeparator+'2002'));
zch[9] := CreateNew('Other...','Ivanov A.P',3,StrToDate('20'+DateSeparator+'06'+DateSeparator+'2002'));

for idx:=0 to 9 do
begin
 Check(zch[idx],pairs,pairscount);
end;

for idx:=0 to pairscount-1 do
begin
if pairs[idx].count>=2 then

 Writeln(DateTimeToStr(pairs[idx].date)+ '   '+ IntToStr(pairs[idx].count));
end;
 Readln;
end.
Изображения
Тип файла: jpg Безымянный.jpg (12.0 Кб, 121 просмотров)
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу пожалуйста, очень нужно на завтра, судьба решается. В VBA Dante_Sparda Microsoft Office Excel 4 20.12.2013 21:08
Задача в Паскале компилируется но не запускается(((...Помогите пожалуйста,на завтра нужно! zhavadik Паскаль, Turbo Pascal, PascalABC.NET 2 07.04.2009 00:44
Пожалуйста помогите завтра экзамен!!! muha Паскаль, Turbo Pascal, PascalABC.NET 0 14.01.2009 01:43