TWINc

Помощь в решении заданий по программированию.

Рекомендованные сообщения

Как мне в Паскале в выше указанной задачи сделать так,чтобы он уменя выкидывал слова начинающиеся со всех других букв кроме 'А' (Б,б,В,в,Г,г...) при этом не используя 70 If?

Можно обьявить в константе переменную равную этим буквам,но как её использовать,чтобы Паскаль её значение выкидывал?

А ещё у меня вот такая фишка,что после первого слова начинающегося на 'А' он выводит все последуюшие слова!как это исправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как мне в Паскале в выше указанной задачи сделать так,чтобы он уменя выкидывал слова начинающиеся со всех других букв кроме 'А' (Б,б,В,в,Г,г...) при этом не используя 70 If?

Можно обьявить в константе переменную равную этим буквам,но как её использовать,чтобы Паскаль её значение выкидывал?

А ещё у меня вот такая фишка,что после первого слова начинающегося на 'А' он выводит все последуюшие слова!как это исправить?

 

Спрашивай совета, учи и практикуй, а не попрошайничай! B)

 

Вот те код рабочий... 2 мин. на него ушло.

 

var InStr, OutStr : String;
Trg : Char;
Pos : Word;
AddToOut : Boolean;

begin

 Trg := 'a'; // начальная буква-триггер слова

 OutStr : = '';

 ReadLn ( InStr );

 AddToOut := ( InStr [1] = Trg);

 For Pos := 1 To Length (InStr) Do begin
 If ( InStr [Pos] = #32 ) then AddToOut := ( InStr [Pos+1] = Trg );
 If AddToOut then OutStr := OutStr + InStr [Pos];
 End; // for Pos

 WriteLn ( OutStr );

end.

 

 

 

P.S. Если регистр буквы-триггера не иммет значения, то исправляй строку, где "InStr [Pos+1] = Trg" на "UpCase ( InStr [Pos+1] ) = UpCase ( Trg)";

 

P.P.S. InStr не должна оканчиваться пробелом, а то будет EOutOfrange, так что лучше при получении ее значения сделать ей Trim.

Изменено пользователем RuForce

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как мне в Паскале в выше указанной задачи сделать так,чтобы он уменя выкидывал слова начинающиеся со всех других букв кроме 'А' (Б,б,В,в,Г,г...) при этом не используя 70 If?

Можно обьявить в константе переменную равную этим буквам,но как её использовать,чтобы Паскаль её значение выкидывал?

А ещё у меня вот такая фишка,что после первого слова начинающегося на 'А' он выводит все последуюшие слова!как это исправить?

Тебе вот ответ написали, но все попытайся сам написать, другим способом... иначе у тебя очень долго будет тянуться твое обучение программингу...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разработать систему команд для процессора, осуществляющего арифметические операции (ввод, вывод, сложение, вычитание, умножение) над целыми числами, помещенными в 256 ячеек памяти. Система каманд - двухадресная. Формат команды - 3 байта, первый содержит код операции, второй и третий - адреса операндов. Команды записываются в строку без разделителей.

 

Раработать систему мнеманической записи команд и составить программу трансляции (перевод из ассемблеровской формы в строку машинных команд). Распределение переменных по ячейках памяти должно осуществляться программой. Привести пример программы, для которой осущемтвляется

 

П.С. Большая просьба помочь!!! Pascal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

спасибо а вот мой вариант:

 

program Ctpoki;

uses crt;

var

s,s2:string;

t,i:integer;

u:char;

begin

clrscr;

write ('Введите строку:');

readln (s);

write ('Введите букву:');

readln (u);

for i:=1 to length (s) do

begin

while copy (s,1,1)=' ' do

delete (s,1,1);

while copy (s,length (s),1)=' ' do

delete (s,length (s),1);

s:=s+' ';

repeat

t:=pos (' ',s);

s2:=copy (s,1,t);

if s2[1]=u then

write (s2);

delete (s,1,t);

until

length(s)=0;

end;

end.

 

 

зы...

:russian:

ну правда она чуть пообьёмней!

Изменено пользователем DoDgY

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

спасибо а вот мой вариант:

 

program Ctpoki;

uses crt;

var

s,s2:string;

t,i:integer;

u:char;

begin

clrscr;

write ('Введите строку:');

readln (s);

write ('Введите букву:');

readln (u);

for i:=1 to length (s) do

begin

while copy (s,1,1)=' ' do

delete (s,1,1);

while copy (s,length (s),1)=' ' do

delete (s,length (s),1);

s:=s+' ';

repeat

t:=pos (' ',s);

s2:=copy (s,1,t);

if s2[1]=u then

write (s2);

delete (s,1,t);

until

length(s)=0;

end;

end.

зы...

:lol:

ну правда она чуть пообьёмней!

 

Бред какой-то! Я в товей программе ни черта не понял - это не комплимент, понимаешь...

 

P.S. Copy (S,1,1) = S[1].

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Разработать систему команд для процессора, осуществляющего арифметические операции (ввод, вывод, сложение, вычитание, умножение) над целыми числами, помещенными в 256 ячеек памяти. Система каманд - двухадресная. Формат команды - 3 байта, первый содержит код операции, второй и третий - адреса операндов. Команды записываются в строку без разделителей.

 

Раработать систему мнеманической записи команд и составить программу трансляции (перевод из ассемблеровской формы в строку машинных команд). Распределение переменных по ячейках памяти должно осуществляться программой. Привести пример программы, для которой осущемтвляется

 

П.С. Большая просьба помочь!!! Pascal

 

ПОЖАЛУЙСТА ПОМОГИТЕ... :):);):):):):);):)

совсем нет времени сейчас на паскаль отвлекаться, нужно готовить персдачи. Вот сегодня утачнил у преподователя задачу.

 

Вот что он мне сказал:

 

Задание заключается в том, что программа должна

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

IN D

IN D1

ADD D,D1

должна получиться строка (вместо записи в двоичной системе счисления естественнее использовать шестнадцатеричную)

010000

010100

060001

 

Обратите внимание на то, что переменная D записана в ячейку 0, а переменная D1 -в ячейку 1

 

П.С. Буду очень рад если кто-то поможет уже готовым кодом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Решаем Школьные и Институтские задачи по програмированию.

 

Здравствуйте.

Очень нужно решение программы, на Фортране77.

Задача следующая:

Тема: Сложные типы данных. Многомерные массивы.

Дана (построчно) вещественная матрица размером 4х4, все элементы которой различны.

Найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом.

 

Если кто поможет, буду очень благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Бред какой-то! Я в товей программе ни черта не понял - это не комплимент, понимаешь...

 

P.S. Copy (S,1,1) = S[1].

 

 

Однако прога пашет!!!

while copy (s,1,1)=' ' do

delete (s,1,1)

пояснение:

мы читаем символы на чиная с первой позиции содерхащая 1 символ в строке s,пока у нас этот символ равен пробелу - мы его удаляем!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Однако прога пашет!!!

while copy (s,1,1)=' ' do

delete (s,1,1)

пояснение:

мы читаем символы на чиная с первой позиции содерхащая 1 символ в строке s,пока у нас этот символ равен пробелу - мы его удаляем!

 

Может и "пашет", да пусть хоть сеет и жнет, но код твой надо "напильником обрабатывать" ! :angry:

Я уже тебе объяснял, что copy (s,1,1) - это ооочень коряво, ну и прочее, типа, delete (s,1,1)... про Trim из SysUtils или Normalize из StrUtils поинтересуйся... Будут вопросы - пиши ЛС. ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для начинающих и нетолько

 

http://progs.biz/

 

В продолжении темы

http://www.intuit.ru/courses.html

полно разных бесплатных интернет курсов по программированию

 

 

До кучи :angry:http://www.firststeps.ru/

Изменено пользователем romhik

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можете помочь решить задачку на Pascal'е, только можете пожалуйста сделать блок-схему(т.е. нарисовать сам алгортм)

 

Сама задача:

Определить номера строк матрицы, в которой знаки элементов чередуются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Прошу помочь кому не трудно, с реализацией данной задачи, (файлы в паскале плохо понимаю )

Просто это задание входит в типавой расчёт по информатике в универе, всё сделал кроме этого.

Заранее спасибо.(сори не заметил, тему не там разместил)

 

 

Постановка задачи

Подготовить данные об абитуриентах, поступающих в техникум. Информацию о каждом абитуриенте оформить в виде записи, содержащей следующие поля:

1. Фамилия, имя, отчество.

2. Год рождения.

3. Год окончания школы.

4. Оценки в аттестате.

5. Признак - нуждается ли в общежитии.

6. Оценки вступительных экзаменов.

Разработать программу записи подготовленных данных во внешний файл и программу обработки созданного внешнего файла.

I. Удалить из внешнего файла все записи, удовлетворяющие условию, заданному в варианте, и распечатать информацию, оставшуюся в файле.

II. Добавить N записей в начало (конец) внешнего файла и распечатать записи полученного файла согласно конкретному варианту.

 

 

1. При подготовке исходных данных необходимо учесть, что выходная информация программы обработки внешнего файла должна составлять не менее одной четверти от входной

 

 

мой вариант

Из внешнего файла, содержащего исходные данные, удалить записи, соответствующие:

Абитуриентам, имеющим средний балл больше 4,5 и нуждающимся в общежитии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ПОЖАЛУЙСТА ПОМОГИТЕ... :D;):D:D:excl:;);):help::help:

совсем нет времени сейчас на паскаль отвлекаться, нужно готовить персдачи. Вот сегодня утачнил у преподователя задачу.

 

Вот что он мне сказал:

 

Задание заключается в том, что программа должна

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

IN D

IN D1

ADD D,D1

должна получиться строка (вместо записи в двоичной системе счисления естественнее использовать шестнадцатеричную)

010000

010100

060001

 

Обратите внимание на то, что переменная D записана в ячейку 0, а переменная D1 -в ячейку 1

 

П.С. Буду очень рад если кто-то поможет уже готовым кодом.

 

Всё же как то смог решить) если кому интересно то прикрепляю задачку.

program ZAD_5;

  uses crt;

var
  proga:text;
  a,b,g:integer;
  asembler,str:string;
  Dim:array[0..255] of integer;
  by:char;

procedure Author;

VAR
  ST_,ST:string;

  begin
 ST:=''; St_:='';

  For a:=1 to 78 DO begin
 St:=St + CHR(205);
 St_:=St_+' ';
  End;

 clrscr;
 write(CHR(201) +St + (CHR(187)));
 write(CHR(186),'Author: Kollerov Yura, 5PM-040, ZAD#5, BapuaHT#10							 ',CHR(186));
 write(CHR(186),'																			  ',CHR(186));
 write(CHR(186),'YcloBue: CoZadaTb Ha ocHoBe ucxodHogo faile, zanucaHHogo Ha assembler^e,	  ',CHR(186));
 write(CHR(186),' HoBuu faile, cocToyawuu uz mawuHHux komaHD, pealuzyuwuu etu ge operazii	  ',CHR(186));
 writeln(CHR(200) + St + (CHR(188)));
 writeln;
 end;

Function HexToDec(ch:char):byte;
const
 Hex:string[16]='0123456789ABCDEF';

begin
 HexToDec:=Pos(ch,Hex)-1;
end;

function RedFail:byte;

 begin
   inc(a,2);
   RedFail:=HexToDec(str[a])*16+HexToDec(str[a+1]);
 end;

procedure Add;

 begin
 Dim[0]:=Dim[RedFail]+Dim[RedFail];
 end;

procedure Sub;

 begin
 Dim[0]:=Dim[RedFail]-Dim[RedFail];
 end;

procedure Mul;

 begin
 Dim[0]:=Dim[RedFail]*Dim[RedFail];
 end;

procedure Input;

 begin
 inc(b);
  write('BBEDuTe 4uclo:= ');
readln(Dim[RedFail]);
 end;

procedure OUT;

 begin
 writeln('noly4aem');
 writeln(Dim[RedFail]);
 end;

begin
 repeat
 ClrScr;
 author;
 a:=-1;b:=0;
 assign(proga,'npumep.txt');
 reset(proga);
 readln(proga,str);
 while a<=length(str) do
 case RedFail of
17:begin
   INput;
   asembler:=asembler+'  IN '+copy(str,a,2);
 end;
153:begin
   OUT;
   asembler:=asembler+';  OUT '+copy(str,a,2);
 end;
173:begin
   ADD;
   asembler:=asembler+';  ADD '+copy(str,a-2,4);
 end;
171:begin
   SUB;
   asembler:=asembler+';  SUB '+copy(str,a-2,4);
 end;
170:begin
   MUL;
   asembler:=asembler+';  MUL '+copy(str,a-2,4);

 end;
 end;
 close(proga);
 writeln(asembler);
 writeln('npoDolGuTb(y/n)?');
 by:=readkey;
 until UpCase(by)<>'Y'
end.

npumep.txt

Изменено пользователем miasnik_yk

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можете помочь решить задачку на Pascal'е, только можете пожалуйста сделать блок-схему(т.е. нарисовать сам алгортм)

 

Сама задача:

Определить номера строк матрицы, в которой знаки элементов чередуются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Уважаемые господа, помогите пожалуйста написать программку на Borland C++

ОЧень нужно для зачета.

 

==================

Задана матрица размером n на n

найти сумму элементов n-ой строки и поставить её вместо элемента диагонали.

==================

 

Заранее большое спасибо. Ваша помощ очень нужна. smile.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вернее я ошибся

=============

 

Задана матрица размером n на n

найти сумму элементов К-той строки и поставить её вместо элементов диагонали.

 

====================

 

 

Помогите пожалуйста!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Задача на С/С++:

написать реализацию файловой системы СР/М

если у кого-нибкдь есть материалы по теме, киньте, плиз, ссылки

идеи, конечно, тоже не помешают :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вернее я ошибся

=============

 

Задана матрица размером n на n

найти сумму элементов К-той строки и поставить её вместо элементов диагонали.

 

====================

Помогите пожалуйста!

я точно не помню что означает "элементов диагонали" (давно учился) но вроде так:

ЗЫ ввод сам делай.

#include <iostream.h>
#include <conio.h>


void main(void)
{

clrscr();
int n=5;
int k,S=0;
int Mat[5][5]={1,1,1,1,1,
			2,2,2,2,2,
			3,3,3,3,3,
			4,4,4,4,4,
			5,5,5,5,5};
int i,j;
cout<<"Матрица:";
for(i=0;i<n;i++)
{
 cout<<"\n";
 for(j=0;j<n;j++)
 {
  cout<<Mat[i][j];
  if(j<n-1)
  cout<<",";
 }
}

cout<<"\nВведите номер строки:";
cin>>k;
if(--k>n || k<0)
{
 cout<<"Ошибка в ДНК у юзера!!!!";
 return;
}

//*******************Подсчет суммы
for(i=0;i<n;i++)
  S+=Mat[k][i];
cout<<"Сумма "<<k+1<<" строки равна:"<<S;

//*******************
for(i=0;i<n;i++)
 Mat[i][i]=S;
for(i=0;i<n;i++)
 Mat[i][(n-1)-i]=S;
//*******************
cout<<"\nПолучилось матрица:";
for(i=0;i<n;i++)
{
 cout<<"\n";
 for(j=0;j<n;j++)
 {
  cout<<Mat[i][j];
  if(j<n-1)
  cout<<",";
 }
}

getch();
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот Антон из МГУПИ (ИТ-6) держи блок-схему(я там все поставил):

 

Вот Антон из МГУПИ (ИТ-6) держи саму прогу:

 

Вот Ванес из МГУПИ (Ит-6) 8 прога чуть позже 7 скину

TON.txt

Doc2.doc

vanes_8.txt

Изменено пользователем _WrecK_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дэну 9ую

program BD;

uses CRT;

type

TTovar=record

Nazv: string;

Cena: string;

God_sozd: 1985..2010;

kolvo: integer;

end;

Const

N=1;

a:array[1..6] of string[50]=('1- Sozdatb bazu dannix',

'2- Vivod bazi ',

'3- Udalit tovar ',

'4- Dobavitb zapis ',

'5- Sortirovka faila ',

'6- Vixod ');

var

Sklad:array[1..N] of Ttovar;

Tovar : TTovar;

name_f : string;

F : file of TTovar;

j,i:byte;

c : char;

 

Procedure Vvod_dannix(var Tovar: TTovar);

Var

i,j:byte;

Begin

with tovar do

begin

for i:=1 to n do

begin

Writeln('Vvedite nazvanie tovara');

readln(nazv);

Writeln('Vvedite cenu tovara');

readln(cena);

Writeln('Vvedite god vipuska tovara');

readln(God_sozd);

Writeln('Vvedite koli4estvo na sklade');

readln (kolvo);

end;

end;

End;

 

Procedure Vivod_dannix(Tovar : TTovar);

Var

i,j:byte;

Begin

for i:=1 to n do

with Tovar do

begin

Write('Nazvanie tovara ');

writeln(nazv);

Write('Cena tovara ');

writeln(cena);

Write('God vipuska tovara ');

Writeln(God_sozd);

Write('Koli4estvo na sklade ');

writeln (kolvo);

end;

End;

 

Procedure Create_file;

var

i,j : byte;

Begin

clrscr;

window(1,1,80,25);

clrscr;

writeln('Vvedite uma f-la');

readln(name_f);

assign(f,name_f);

{$i-}

reset(f);

{$i+}

if ioresult<>0 then begin

rewrite(f);

repeat

writeln('Vvodite bazu');

vvod_dannix(Tovar);

write(f,Tovar);

writeln('DLa vixoda - ESC ');

until readkey=#27;

close(f);

end

else

begin

writeln('Takoi f-l uzhe sushestvuet');

readln;

end;

End;

 

procedure Open_file;

begin

clrscr;

window(1,1,80,25);

clrscr;

writeln('Vvedite uma nuzhnogo f-la');

readln(name_f);

assign(f,name_f);

{$i-}

reset(f);

{$i+}

if ioresult=0 then

begin

writeln('Vse tovari');

repeat

read(f,Tovar);

vivod_dannix(Tovar);

readln;

until eof(f);

close(f);

end

else

begin

writeln('Takogo f-la net');

readln;

end;

clrscr;

end;

 

Procedure Dobav_zapis;

Var

flag,kolvo,i,j,k:byte;

Buf,Buf2: TTovar;

zamena: boolean;

Begin

clrscr;

window(1,1,80,25);

clrscr;

writeln('Vvedite uma nuzhnogo f-la');

readln(name_f);

assign(f,name_f);

{$i-}

reset(f);

{$i+}

if ioresult=0 then

begin

Writeln('Kuda dobavit zapis? (V na4alo faila-1; V konec-2; Bez poteri poryadka-3)');

readln(flag);

Writeln('Skolko zapisei dobavit?');

readln(kolvo);

Case flag of

1: begin

for i:= filesize(f)-1 downto 0 do

begin

seek(f,i);

read(f,Buf);

seek(f,i+kolvo);

write(f,Buf);

end;

seek(f,0)

end;

2: seek(f,filesize(f));

end;

if flag in [1..3] then

 

For i := 1 to kolvo do

begin

vvod_dannix(Tovar);

zamena:=false;

seek(f,0);

if flag=3 then

begin

For j:= 0 to filesize(f)-1 do

begin

read(f,buf);

if Tovar.nazv=buf.nazv then

begin

seek(f,j);

{ write(f,Tovar); }

zamena:=true;

break;

end;

end;

if zamena=false then

begin

seek(f,0);

For j:= 0 to filesize(f)-1 do

begin

read(f,buf);

if Tovar.cena > Buf.cena then

begin

for k:= filesize(f)-1 downto j do

begin

seek(f,k);

read(f,Buf2);

seek(f,k+1);

write(f,Buf2);

writeln('Sdvig bil');

readln;

end;

seek(f,j);

break;

end;

end;

end;

end;

write(f,Tovar);

end

else writeln('Nevernii vibor');

close(f);

clrscr;

end

else

begin

writeln('Takogo f-la net');

readln;

end;

clrscr;

End;

 

 

Procedure Delete_zapis;

Var

b,i,j : integer;

Begin

clrscr;

window(1,1,80,25);

clrscr;

writeln('Vvedite uma nuzhnogo f-la');

readln(name_f);

assign(f,name_f);

{$i-}

reset(f);

{$i+}

if ioresult=0 then

begin

b:=0;

For i:= 0 to filesize(f)-1 do

begin

read(f,Tovar);

if Tovar.kolvo=0 then

begin

vivod_dannix(Tovar);

b:=filepos(f);

writeln('Zapicb budet udalena');

readln;

for j:=b to filesize(f)-1 do

begin

seek(f,j);

read(f,Tovar);

seek(f,j-1);

write(f,Tovar);

end;

seek(f,filesize(f)-1);

truncate(f);

end;

seek(f,i);

end;

if b=0 then writeln('Udalenii ne bilo');

close(f);

readln;

end

else

begin

writeln('Takogo f-la net');

readln;

end;

clrscr;

End;

 

Procedure Sortirovka_file;

var

tov1,tov2 : TTovar;

Begin

clrscr;

window(1,1,80,25);

clrscr;

writeln('Vvedite uma nuzhnogo f-la');

readln(name_f);

assign(f,name_f);

{$i-}

reset(f);

{$i+}

if ioresult=0 then

begin

For i:= 0 to filesize(f)-1 do

For j:= 0 to filesize(f)-2 do

begin

seek(f,j);

Read(f,tov1);

Read(f,tov2);

if tov1.cena < tov2.cena then

begin

seek(f,j);

write(f,tov2);

write(f,tov1);

end;

end;

close(f);

writeln('Dannie faila otsortirovani po nevozrastaniu');

readln;

end

else

begin

writeln('Takogo f-la net');

readln;

end;

End;

 

BEGIN

j:=1;

repeat

textbackground(6);

clrscr;

window(29,5,50,14);

gotoxy(1,1);

textbackground(6);

textcolor(2);

clrscr;

for i:=1 to 9 do

begin

if i=j then textbackground(1)

else textbackground(8);

write(a);

end;

c:=readkey;

if c=#0 then

begin

c:=readkey;

if c=#80 then

if j=6 then j:=1

else j:=j+1

else

if c=#72 then

if j=1 then j:=6

else j:=j-1

else writeln(#7)

end

else if c=#13 then

case j of

1:Create_file;

2:Open_file;

3:Delete_zapis;

4:Dobav_zapis;

5:Sortirovka_file;

6:Exit;

end

else writeln(#7);

until 5=4;

end.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Янка вот держи 8 задача

 

 

Сань вот держи:

распечатать не забудь!

Yanka.txt

SANDRO.txt

___________.rar

Изменено пользователем _WrecK_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Помогите написать прогу на си

задание:

Составить такое расписание экзаменов в конце семестра, что бы ни одному студенту не пришлось сдавать более 1 экзамена в день, а кол-во дней, в течении которых проводятся экзамены, было минимально, при условии, что разделениие студентов на группы отсутствует, и каждый студент может выбрать себе свой набор учебных курсов из мозможных(американская система). (Использовать метод раскраски графов).

 

http://khpi-iip.mipk.kharkiv.edu/library/d...u/din_0116.html

Вот ссылочка по раскраске.

 

Или хотя бы объясните что да как тут сделать, в пятницу сдавать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Помогите написать прогу на си

задание:

Составить такое расписание экзаменов в конце семестра, что бы ни одному студенту не пришлось сдавать более 1 экзамена в день, а кол-во дней, в течении которых проводятся экзамены, было минимально, при условии, что разделениие студентов на группы отсутствует, и каждый студент может выбрать себе свой набор учебных курсов из мозможных(американская система). (Использовать метод раскраски графов).

 

http://khpi-iip.mipk.kharkiv.edu/library/d...u/din_0116.html

Вот ссылочка по раскраске.

 

Или хотя бы объясните что да как тут сделать, в пятницу сдавать.

Пжалсаааааа, помогите, хотя б не точь в точь как по заданию. Есть всего лишь алгоритм, кот скачал с вышеуказанного сайта. Он работает норм, а вот как под задачу дальше сделать не могу понять. Кол-во студентов мы равняем к кол-ву вершин, а что отвечает за связи между вершинами? кол-во экзаменов, или если у них есть обший экзамен? бррр...

плиииз напишите, я вас отблагодарю ^_^

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас