|
Вопрос # 1 230/ вопрос открыт / |
|
Здравствуйте, эксперты!
Помогите, пожалуста решить задачу на массивы. Язык - Delphi 7.
К задаче необходима и блок-схема.
Текст задачи:
"Вычислить сумму всех элементов квадратной матрицы произвольного порядка,
лежащих не ниже главной диагонали."
Заранее СПАСИБО!!!
 |
Вопрос задал: Upgr3id (статус: Посетитель)
Вопрос отправлен: 26 декабря 2007, 18:30
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
С наступающим! Люблю делать чужие лабы. Особенно за деньги... :)))
{
Язык - Delphi 7.
К задаче необходима и блок-схема.
Текст задачи:
"Вычислить сумму всех элементов квадратной матрицы произвольного порядка,
лежащих не ниже главной диагонали."}
program p1230;
{$APPTYPE CONSOLE}
type
TMatrix = array of array of Integer;
var
D: Integer; // Размерность матрицы
A: TMatrix; // Наша матрица
i, j: Integer; // Параметры циклов (номера строк и столбцов)
Sum: Integer = 0; // Искомая сумма
begin
Write(' Enter D: ');
ReadLn(D);
SetLength(A, D, D);
// Заполнение матрицы случайными значениями
Randomize();
for i:= 0 to D - 1 do
for j:= 0 to D - 1 do
A[i, j]:= Random(100);
// Вывод матрицы и подсчёт суммы элементов, лежащих не ниже главной диагонали
WriteLn(#13#10' A = '#13#10);
for i:= 0 to D - 1 do
begin
for j:= 0 to D - 1 do
begin
Write(A[i, j]: 6);
// Условие нахождения элемента не ниже ГД: j >= i
if (j >= i)
then Sum:= Sum + A[i, j];
end;
WriteLn;
end;
WriteLn(#13#10' Sum of A = ', Sum);
ReadLn;
end.
Блок-схему прицепляю к ответу. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 27 декабря 2007, 09:17
Оценка за ответ: 4
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 27 декабря 2007, 11:08; участников в обсуждении: 2.
|
min@y™ (статус: Доктор наук), 27 декабря 2007, 10:24 [#1]:
Что-то не так?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Upgr3id (статус: Посетитель), 27 декабря 2007, 10:39 [#2]:
Да все так. Просто необходим конкретно язык Object Pascal. Там вместо "Write(' Enter D: '); ReadLn(D);" нельзя ли использовать "D:=Edit1.Text"? Если ошибаюсь я, то нужно поменять оценку на 5. (кстати, где можно купить подешевле нормальный Delphi 7? Купил уже два диска, и на обоих вирусов дофига)
|
|
min@y™ (статус: Доктор наук), 27 декабря 2007, 11:02 [#3]:
Я писал на Delphi 7, просто это консольное приложение, в нем есть консольный ввод/вывод, как в турбопаскале (ReadLn, WriteLn). Дело-то не в этом: решение задачи находится в цикле
for i:= 0 to D - 1 do
begin
for j:= 0 to D - 1 do
begin
Write(A[i, j]: 6);
// Условие нахождения элемента не ниже ГД: j >= i
if (j >= i)
then Sum:= Sum + A[i, j];
end;
// WriteLn;
end;
Этот цикл вставляй себе в прогу и юзай.
Цитата:
нельзя ли использовать "D:=Edit1.Text"?
Можно юзать D:= StrToInt(Edit1.text).
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 27 декабря 2007, 11:08 [#4]:
Цитата:
стати, где можно купить подешевле нормальный Delphi 7? Купил уже два диска, и на обоих вирусов дофига
Бугага, рассмешил...
Отделяй мухи от котлет (вирусы от софта) и юзай.
Где вас тока таких берут? (© Ст. прапорщик Данелюк, сериал "Солдаты-13").
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|