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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2008, 16:03   #1
ромка)
Пользователь
 
Аватар для ромка)
 
Регистрация: 16.05.2008
Сообщений: 12
Восклицание Pascal.3 задачи

1)Одномерные массивы
Дан целочисленный вектор М(15).Определить число соседств из двух чисел разного знака.
2)Двумерные массивы
Дана действительная квадратная матрица Х(5,5).Требуется преобразовать матрицу: поэлементно вычесть последнюю строку из всех строк, кроме последней.
3)Комбинированный тип данных
После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается ли в общежитии, стаж, работал ли учителем, что окончил, какой язык изучал. Составить программу, определяющую сколько человек нуждаются в общежитии.

Помогите решить пожалуйста в долгу не останусь
ромка) вне форума Ответить с цитированием
Старый 28.05.2008, 09:27   #2
mr_s
 
Регистрация: 13.05.2008
Сообщений: 7
Сообщение Вопрос - Ответ

Это для двуменгой матрицы

program abc;

Uses Crt;

Var Matrix: Array[1..5, 1..5] of Real;
i, j: Byte;
Begin

Clrscr;
Randomize;

Writeln('Matrix (5x5)');

for i:= 1 to 5 do
begin
for j:= 1 to 5 do
begin
Matrix[i, j]:= Random(5);
Write(Matrix[i, j], ' ');
end;
Writeln;
end;

for i:= 1 to 5 do
for j:= 1 to 5 do
Matrix[i, j]:= Matrix[i, j] - Matrix[5, j];

Writeln;
Writeln('New Matrix (5x5)');

for i:= 1 to 5 do
begin
for j:= 1 to 5 do
Write(Matrix[i, j], ' ');
Writeln;
end;
End.

Написание хороших программ требует ума, вкуса и терпения
mr_s вне форума Ответить с цитированием
Старый 28.05.2008, 09:43   #3
mr_s
 
Регистрация: 13.05.2008
Сообщений: 7
По умолчанию Вопрос - Ответ

Не знал, где взять базу студентов, поэтому набил вручную.

program abc;

Uses Crt;

Type Student = record
Surname: String;
HomeNeed: Boolean; //нуждается в общежитии
WorkTime: Byte; //стаж
WorkTeacher: Boolean; //работал ли учителем
University: String; //что закончил
Language: String;
end;

Var M: Array[1..6] of Student;
i: Byte;
Begin

Clrscr;

M[1].Surname:= 'Petrov';
M[1].HomeNeed:= True;
M[1].WorkTime:= 3;
M[1].WorkTeacher:= False;
M[1].Language:= 'Russian';
M[1].University:= 'MGU';

M[2].Surname:= 'Koledov';
M[2].HomeNeed:= False;
M[2].WorkTime:= 5;
M[2].WorkTeacher:= True;
M[2].Language:= 'Russian';
M[2].University:= 'MGU';

M[3].Surname:= 'Dolgov';
M[3].HomeNeed:= False;
M[3].WorkTime:= 10;
M[3].WorkTeacher:= True;
M[3].Language:= 'Russian';
M[3].University:= 'MGU';

M[4].Surname:= 'Klubkov';
M[4].HomeNeed:= False;
M[4].WorkTime:= 10;
M[4].WorkTeacher:= True;
M[4].Language:= 'Russian';
M[4].University:= 'MGU';

M[5].Surname:= 'Sidorov';
M[5].HomeNeed:= False;
M[5].WorkTime:= 6;
M[5].WorkTeacher:= False;
M[5].Language:= 'Russian';
M[5].University:= 'MGU';

M[6].Surname:= 'Vetrov';
M[6].HomeNeed:= True;
M[6].WorkTime:= 2;
M[6].WorkTeacher:= False;
M[6].Language:= 'Russian';
M[6].University:= 'MGU';

for i:= 1 to 6 do
if M[i].HomeNeed = True then
Writeln(M[i].Surname);

End.

Написание хороших программ требует ума, вкуса и терпения
mr_s вне форума Ответить с цитированием
Старый 28.05.2008, 12:59   #4
ромка)
Пользователь
 
Аватар для ромка)
 
Регистрация: 16.05.2008
Сообщений: 12
По умолчанию

по поводу первой:что случилось с последней строкой(одни нули)
по поводу второй:мне надо самому вводить все данные о учениках,общежитии и т.д.а тут просто это уже в самой программе

по поводу первой:что случилось с последней строкой(одни нули)*??????

Последний раз редактировалось Alex21; 30.05.2008 в 15:56.
ромка) вне форума Ответить с цитированием
Старый 29.05.2008, 14:27   #5
mr_s
 
Регистрация: 13.05.2008
Сообщений: 7
По умолчанию Вопрос-Ответ

Насчет массивов:
замени в тексте программы

for i:=1 to 5 do
for j:= 1 to 5 do
Matrix[i, j]:= Matrix[i, j] - Matrix[5, j];

на

for i:=1 to 4 do
for j:= 1 to 4 do
Matrix[i, j]:= Matrix[i, j] - Matrix[5, j];

Написание хороших программ требует ума, вкуса и терпения
mr_s вне форума Ответить с цитированием
Старый 29.05.2008, 14:39   #6
mr_s
 
Регистрация: 13.05.2008
Сообщений: 7
По умолчанию Вопрос - Ответ

Насчет студентов
добавь
var s, lg, un: String;
hn, wt, th: Byte;

и вместо ручного ввода напиши вот это

un:= '';
s:= '';
lg:='';

for i:= 1 to 10 do
begin
Writeln('Vvedite Familiu');
Readln(s);
M[i].Surname:= s;

Writeln('Nujno li obshejitie (1 ili 0)');
Readln(hn);
if hn = 1 then
M[i].HomeNeed:= True
else
M[i].HomeNeed:= False;

Writeln('Vvedite rabo4ee vremia');
Readln(wt);
M[i].WorkTime:= wt;

Writeln('U4itel?' (1 ili 0));
Readln(th);
if th = 1 then
M[i].WorkTeacher:= True
else
M[i].WorkTeacher:= False;

Writeln('Vvedite language');
Readln(lg);
M[i].Language:= lg;

Writeln('Vvedite univer');
Readln(un);
M[i].University:= un;
end;

Написание хороших программ требует ума, вкуса и терпения
mr_s вне форума Ответить с цитированием
Старый 30.05.2008, 01:44   #7
ромка)
Пользователь
 
Аватар для ромка)
 
Регистрация: 16.05.2008
Сообщений: 12
По умолчанию

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

Помогите пожалуйста с третим заданием!!!!выложите код если не трудно

Последний раз редактировалось Alex21; 05.06.2008 в 21:33.
ромка) вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
условие задачи в PASCAL vitekbest Помощь студентам 8 19.12.2010 15:16
Pascal задачи на массивы SweetOpium Помощь студентам 9 08.05.2008 20:40
Решение задачи за WMZ (PASCAL). 4meen Фриланс 5 08.12.2007 14:58
Решение задачи на Pascal Progs Помощь студентам 4 03.11.2007 15:23