Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

29.11.2009, 23:55
|
|
Участник форума
Регистрация: 10.10.2009
Сообщений: 133
Провел на форуме: 143706
Репутация:
-1
|
|
Сообщение от ichechen
А VB.NET пойдет?
Эм..даж не знаю.не кодил там.Visual Studio 2008 у нас юзят.
|
|
|

30.11.2009, 00:13
|
|
Познающий
Регистрация: 10.02.2009
Сообщений: 40
Провел на форуме: 59352
Репутация:
0
|
|
Спс !!!!!!! Все норм работает!!!
|
|
|

30.11.2009, 00:35
|
|
Постоянный
Регистрация: 10.10.2006
Сообщений: 316
Провел на форуме: 1572471
Репутация:
152
|
|
Delphi 7
Доброй ночи. Понадобилась помощь в написании программы. Поджимает сильно время. Очень прошу помочь, завтра уже сдавать её.
Составить список, содержащий сведения об N студентах. Для каждого учащегося указать:
- фамилия;
- ИНН (идентификационный номер налогоплательщика);
- дата выдачи Свидетельства о постановке на учет в налоговом органе;
- дата рождения;
- год поступления в университет;
- курс;
- группа;
- количество семестров обучения;
- оценки каждой сессии по всем семестрам.
Информацию о каждом студенте оформить в виде записи. Совокупность записей объединить в массив.
Составить программу, которая обеспечивает ввод исходных данных, об-работку и вывод на экран информации в соответствии с вариантом задания, приведенного в таблице
Из таблицы: Упорядочить список студентов по среднему баллу последней сданной сессии и вывести его на экран. N = 4
Снизу приведу программу-пример указанную в методичке, может поможет чем-то.
Разработать программу для обработки информационного массива данных по группе студентов из 30 человек. Для каждого студента указаны фамилия и оценки по пяти дисциплинам. Необходимо вычислить средний балл и упорядо-чить список студентов группы по убыванию среднего балла.
Код:
PROGRAM PRIM2;
USES CRT;
TYPE
STR=RECORD
FAM: STRING [30];
B1,B2,B3,B4,B5: 2..5;
SB: REAL
END;
VAR
TBL: ARRAY [1..25] OF STR;
Y:STR;
I,J,K,M:INTEGER;
X,R:REAL;
PR:BYTE;
BEGIN
CLRSCR;
REPEAT
WRITELN ('Введите число студентов');
READLN (M);
FOR I:= 1 TO M DO
WITH TBL[I] DO
BEGIN
WRITELN('Введите фамилию');
READLN (FAM);
WRITELN('Введите пять оценок студента');
READLN (B1,B2,B3,B4,B5);
END;
FOR I:= 1 TO M DO
WITH TBL[I] DO
SB:= (B1+B2+B3+B4+B5)/5;
FOR I:= 1 TO M DO
BEGIN
K:=1;
X:=TBL[I].SB;
FOR J:=I TO M DO
IF TBL[J].SB >=X THEN
BEGIN
K:=J;
X:=TBL[J].SB;
Y:=TBL[K];
TBL[K]:=TBL[I];
TBL[I]:=Y
END;
END;
WRITELN ('Список студентов');
FOR I:=1 TO M DO
WITH TBL[I] DO
WRITELN (FAM, SB:4:2);
WRITELN ('Обработать еще один список? 1-да 0-нет');
READLN(PR);
UNTIL PR=0
END.
Заранее спасибо 
|
|
|

30.11.2009, 03:39
|
|
Познающий
Регистрация: 03.12.2008
Сообщений: 56
Провел на форуме: 140714
Репутация:
29
|
|
Сообщение от Ci5
Delphi 7
Доброй ночи. Понадобилась помощь в написании программы. Поджимает сильно время. Очень прошу помочь, завтра уже сдавать её.
Составить список, содержащий сведения об N студентах. Для каждого учащегося указать:
- фамилия;
- ИНН (идентификационный номер налогоплательщика);
- дата выдачи Свидетельства о постановке на учет в налоговом органе;
- дата рождения;
- год поступления в университет;
- курс;
- группа;
- количество семестров обучения;
- оценки каждой сессии по всем семестрам.
Информацию о каждом студенте оформить в виде записи. Совокупность записей объединить в массив.
Составить программу, которая обеспечивает ввод исходных данных, об-работку и вывод на экран информации в соответствии с вариантом задания, приведенного в таблице
Из таблицы: Упорядочить список студентов по среднему баллу последней сданной сессии и вывести его на экран. N = 4
Снизу приведу программу-пример указанную в методичке, может поможет чем-то.
Разработать программу для обработки информационного массива данных по группе студентов из 30 человек. Для каждого студента указаны фамилия и оценки по пяти дисциплинам. Необходимо вычислить средний балл и упорядо-чить список студентов группы по убыванию среднего балла.
Код:
PROGRAM PRIM2;
USES CRT;
TYPE
STR=RECORD
FAM: STRING [30];
B1,B2,B3,B4,B5: 2..5;
SB: REAL
END;
VAR
TBL: ARRAY [1..25] OF STR;
Y:STR;
I,J,K,M:INTEGER;
X,R:REAL;
PR:BYTE;
BEGIN
CLRSCR;
REPEAT
WRITELN ('Введите число студентов');
READLN (M);
FOR I:= 1 TO M DO
WITH TBL[I] DO
BEGIN
WRITELN('Введите фамилию');
READLN (FAM);
WRITELN('Введите пять оценок студента');
READLN (B1,B2,B3,B4,B5);
END;
FOR I:= 1 TO M DO
WITH TBL[I] DO
SB:= (B1+B2+B3+B4+B5)/5;
FOR I:= 1 TO M DO
BEGIN
K:=1;
X:=TBL[I].SB;
FOR J:=I TO M DO
IF TBL[J].SB >=X THEN
BEGIN
K:=J;
X:=TBL[J].SB;
Y:=TBL[K];
TBL[K]:=TBL[I];
TBL[I]:=Y
END;
END;
WRITELN ('Список студентов');
FOR I:=1 TO M DO
WITH TBL[I] DO
WRITELN (FAM, SB:4:2);
WRITELN ('Обработать еще один список? 1-да 0-нет');
READLN(PR);
UNTIL PR=0
END.
Заранее спасибо 
Код:
type
TStudent = record
LastName: string;
ITIN: string;
ITINDate: TDate;
Birthday: TDate;
EnterDate: integer;
Cource: integer;
Group: integer;
SemesterNumber: integer;
Marks: array of integer; // оценки за последнюю сессию
AverageMark: double;
end; // TSudent
var
Students: Array of TStudent;
procedure AddMark(M: integer; Number: integer);
var
tmp: integer;
begin
if (M in [2..5]) then
begin
tmp := Length(Students[Number].Marks);
SetLength(Students[Number].Marks, tmp + 1);
Students[Number].Marks[tmp] := M;
end;
end;
procedure AddStudent(pLastName: string; pITIN: string; pITINDate, pBirthDay: TDate;
pEnterDate, pCource, pGroup, pSemesterNumber: integer;
M1: integer = 0; M2: integer = 0; M3: integer = 0;
M4: integer = 0; M5: integer = 0);
var
tmp, stmp: integer;
i: integer;
begin
tmp := length(Students);
SetLength(Students, tmp + 1);
with Students[tmp] do
begin
LastName := pLastName;
ITIN := pITIN;
ITINDate := pITINDate;
Birthday := pBirthDay;
EnterDate := pEnterDate;
Cource := pCource;
Group := pGroup;
SemesterNumber := pSemesterNumber;
AddMark(M1, tmp);
AddMark(M2, tmp);
AddMark(M3, tmp);
AddMark(M4, tmp);
AddMark(M5, tmp);
stmp := length(Marks);
AverageMark := 0;
if (stmp <> 0) then
for i := 0 to stmp - 1 do
AverageMark := AverageMark + Marks[i]/stmp;
end; // with
end;
procedure QSort(Left, Right: integer);
// Left, Right - границы сортируемой области
var
i, j: integer;
x: double;
tmp: TStudent;
begin
i := Left;
j := Right;
// в качестве опорного элемента выбираем медиану сортируемой области
x := Students[(Left + Right) div 2].AverageMark;
repeat
while x > Students[i].AverageMark do
inc(i);
while x < Students[j].AverageMark do
dec(j);
if i <= j then
begin
tmp := Students[i];
Students[i] := Students[j];
Students[j] := tmp;
inc(i);
dec(j);
end;
until i>j;
if i < Right then QSort(i, Right);
if j > Left then QSort(Left, j);
end;
procedure TForm1.ButtonAddClick(Sender: TObject);
begin
AddStudent(edName.text, edITIN.text, DateTimePickerITIN.Date, DateTimePickerBithday.Date,
StrToInt(edYear.text), StrToInt(edCource.text), StrToInt(edGroup.text),
StrToInt(edSNumber.text), StrToInt(edM1.text), StrToInt(edM2.text), StrToInt(edM3.text),
StrToInt(edM4.text), StrToInt(edM5.text));
end;
procedure TForm1.ButtonAddClick(Sender: TObject);
begin
QSort(0, length(Students)-1);
end;
Может быть что-то забыл, это всегда можно быстро подправить)
Последний раз редактировалось StealthMaster; 30.11.2009 в 03:43..
|
|
|

30.11.2009, 10:39
|
|
Постоянный
Регистрация: 10.10.2006
Сообщений: 316
Провел на форуме: 1572471
Репутация:
152
|
|
Спасибо мен и на этом, но тут возникла проблема. Задание выполняется в консольном приложении, тоесть без всяких компонентов, а там прога уже начинает ругаться с tdate  Да и нельзя использовать процедуру, потому как процедуры и функции не были пройдены, препод не поймет просто как я сделал... 
|
|
|

30.11.2009, 16:06
|
|
Познающий
Регистрация: 03.12.2008
Сообщений: 56
Провел на форуме: 140714
Репутация:
29
|
|
Ну вместо даты в формате TDate можно использовать строку) Главное определиться со способом хранения и ввода/вывода информации.
А если без процедур, то можно сделать так:
Код:
...
var
choise: char;
begin
repeat
{ Ввод всех данных о студенте }
{ фактически содержимое процедуры AddStudent }
запрос на продолжение или прекращение ввода типа "y/n" после i-той операции ввода данных
until choise = 'y';
{ Содержимое процедуры QSort }
{ вывод результата }
end.
|
|
|

30.11.2009, 18:07
|
|
Постоянный
Регистрация: 10.10.2006
Сообщений: 316
Провел на форуме: 1572471
Репутация:
152
|
|
Ясно. Дохимичили твой код, всё пашет. Спасибо еще раз
|
|
|

30.11.2009, 19:29
|
|
Познающий
Регистрация: 10.02.2009
Сообщений: 40
Провел на форуме: 59352
Репутация:
0
|
|
Помогите разобраться с задачкай на Turbo Pascale!!!
Задача:
Сформировать квадратные матрицы {а ij} n,m, {b ij} k,l, где i<=(n,k), j<=(m,l), элементы которых определяются случайно из диапазона вещественных чисел от -50 до 50. Фактическое число строк (n,k) и столбцов (m,l) каждой матрицы вводить с клавиатуры. Создатть процедуру.
|
|
|

30.11.2009, 20:55
|
|
Участник форума
Регистрация: 15.03.2009
Сообщений: 183
Провел на форуме: 3441717
Репутация:
160
|
|
Может есть у кого рабочая программа рисующая элементарную гистограмму? C++
|
|
|

30.11.2009, 22:29
|
|
Новичок
Регистрация: 28.11.2009
Сообщений: 5
Провел на форуме: 11850
Репутация:
0
|
|
Помогите кто то с асемблером посты №1931,1932 пожалуйста.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|