PDA

Просмотр полной версии : Помогите с парочкой контрольных


Ламоза
11.11.2009, 15:13
Привет, помогите пожалуйста написать несколько скриптов на PHP.
Дана квадратная матрица порядка n. Для данного натурального m (m<=2n) найти сумму тех элементов матрицы, сумма индексов которых равна m. Элементы, соответствующие условию выделить другим цветом.
Дана квадратная матрица порядка N. Заменить нулями все элементы, стоящие на главной диагонали и выше ее. Элементы, соответствующие условию выделить другим цветом.

Следующие задачи желательно написать с использованием классов.
Создать файл, содержащий сведения об учебниках, имеющихся в вузовской библиотеке. Каждая запись содержит поля: название учебника, его объем, год издания, учебная дисциплина. Количество записей произвольное. Написать программу, выдающую на экран следующую информацию:
- количество учебников по дисциплине X;
- список учебников по дисциплине Y;
- число книг, изданных до ХХ года.
Создать файл, содержащий сведения о пропуске студентами занятий в течение семестра. Каждая запись содержит поля: фамилии студентов, номер группы, наименование дисциплин. Количество записей произвольное. Написать программу, выводящую на экран следующую информацию:
- общее количество пропущенных занятий (в часах);
- список из пяти студентов, имеющих наибольшее число пропущенных часов.
Создать файл, содержащий сведения о пациентах вузовской поликлиники. Каждая запись содержит поля: фамилия пациента, пол, возраст, вуз, диагноз. Количество записей произвольное. Написать программу, выдающую следующую информацию:
- количество пациентов из вуза ХХ;
- список пациентов старше Y лет с диагнозом YY. Значения ХХ, Y, YY ввести с терминала.

Solker
12.11.2009, 10:08
Дана квадратная матрица порядка N. Заменить нулями все элементы, стоящие на главной диагонали и выше ее. Элементы, соответствующие условию выделить другим цветом.

<?php

$n = 5;
$array = array();

// Заполняем матрицу случайными цифрами
for($i=0;$i<$n;$i++)
for($j=0;$j<$n;$j++)
$array[$i][$j] = rand(1,9);

// Обнуляем элементы расположенные на главной диагонале и выше, попутно выводим
echo "<table>";
for($i=0;$i<$n;$i++)
{
echo "<tr>";
for($j=0;$j<$n;$j++)
{
if($i <= $j) {
$array[$i][$j] = 0;
echo "<td bgcolor='#5becd9'>{$array[$i][$j]}</td>";
} else
echo "<td>{$array[$i][$j]}</td>";
}
echo "</tr>";
}
echo "</table>";

?>

Ламоза
12.11.2009, 14:59
Solker, спасибо, плюсанул. Если не затруднит с остальными тоже помогите.

Solker
14.11.2009, 02:53
Ты думаешь я знаю, как их делать? ;)
Дана квадратная матрица порядка n. Для данного натурального m (m<=2n) найти сумму тех элементов матрицы, сумма индексов которых равна m. Элементы, соответствующие условию выделить другим цветом.


Это не совсем правильно, т.к. у меня индексы массива начинаются с 0, думаю правильнее с 1, иначе условие $m<=$n*2 не совсем корректно. Проверку на это самое условие по необходимости полагаю сам сделаешь.

<?php

$n = 5;
$m = 5; // $m <= $n * 2
$array = array();
$sum = 0;

// Заполняем матрицу случайными цифрами
for($i=0;$i<$n;$i++)
for($j=0;$j<$n;$j++)
$array[$i][$j] = rand(1,9);

echo "<table>";
for($i=0;$i<$n;$i++)
{
echo "<tr>";
for($j=0;$j<$n;$j++)
{
if($i + $j == $m) {
$sum += $array[$i][$j];
echo "<td bgcolor='#5becd9'>{$array[$i][$j]}</td>";
} else
echo "<td>{$array[$i][$j]}</td>";
}
echo "</tr>";
}
echo "</table>";
echo 'Сумма: '.$sum;

?>

Ламоза
14.11.2009, 12:35
Solker, доделаю конечно, спасибо.