close

Вход

Забыли?

вход по аккаунту

?

Задача 1 (7)

код для вставкиСкачать

Задача №1.
Дана действительная квадратная матрица порядка N. Найти наибольший из значений элементов, расположенных ниже главной диагонали.
Описание метода решения задачи
1. Выявляем исходные данные, результаты, назначаем им имена.
Исходные данные: квадратная матрица int mass[10][10] размерность матрицы: int N; Результаты: max - максимальное значение среди элементов матрицы, расположенных ниже главной диагонали
2. Выбираем метод решения задачи, разбиваем на этапы (с учетом возможностей ЭВМ)
Первоначально составим укрупненную схему, а затем подробную для блоков IV, V
Укрупненная схема
I. Подключение всех необходимых заголовочных файлов
II. Глобальные описания переменных int mass[10][10],N, max;
III. Определение размерности 2-го мерного массива IV. Элементы матрицы принимаются как случайные числа, вывод матрицы на экран в виде таблицы
V. Получение необходимого результата и вывод его на экран
IV. Вывод матрицы на экран в виде таблицы
for (int i=0; i<n; i++)
{ for (int j=0; j<n; j++)
{ mass[i][j]=random(50)-10;
cout<<setw(5)<<mass[i][j];
}
cout<<endl;
}
V. 1. Так как алгоритм циклический, то выводим три набора формул и условие окончания (повторения) цикла. - рабочие формулы - нет, ничего не вычисляем
- закон изменения аргументов (переменных): i=i+1, j=j+1
- формулы для вычисления начальных значения аргументов (переменных): i:=0; j=0; max =-999;
- условие окончания цикла: i>n, j>n (повторения i<n, j<n)
2. МРЗ:
* поиск максимального значения среди элементов матрицы, расположенных ниже главной диагонали: цикл обработки массива: используем алгоритм расчета всей матрицы - два цикла подряд, операторные скобки между ними не требуются
[блок присваивания переменным начальных значений]
цикл строк
цикл столбцов
- проверяем находится элемент ниже главной диагонали? if (i>=j) и больше он максимального значения? if (mass[i][j]>max) - это составное условие в программе должно быть записано следующим образом: if ((i>=j) && (mass[i][j]>max)), если Да, то в переменную max записываем элемент массива
* выводим на экран максимальное значение
Программа, реализующая данный алгоритм
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<iostream.h>
#include<iomanip.h>
int main()
{
clrscr();
randomize();
int mass[10][10],max,n;
cout<<"Размерность матрицы n="; cin>>n;
printf("Исходная матрица:\n");
for (int i=0; i<n; i++)
{
for (int j=0; j<n; j++)
{
mass[i][j]=random(50)-10;
cout<<setw(5)<<mass[i][j];
}
cout<<endl;
}
max=-999;
for (i=0; i<n; i++)
for (int j=0; j<n; j++)
if ((i>=j) && (mass[i][j]>max)) max=mass[i][j];
cout<<"max="<<max;
getch();
}
Документ
Категория
Рефераты
Просмотров
31
Размер файла
17 Кб
Теги
задачи
1/--страниц
Пожаловаться на содержимое документа