С Новым годом! Форум программистов, компьютерный форум, киберфорум
Fortran
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 20.12.2018
Сообщений: 10

Составить программу для нахождения максимума или минимума в матрице 4 на 5

20.12.2018, 15:36. Показов 1775. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста
Как еще найти в этой же матрице сумму,кол-во и среднее арифметическое.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.12.2018, 15:36
Ответы с готовыми решениями:

Функция нахождения минимума и максимума в матрице
Будете добры? Напишите программу .2. Функционал: написать функции нахождения минимума, максимума, наименьшего и наибольшего значения в...

Составить программу для нахождения минимума функции на отрезке
Всем привет, не могу составить программу для нахождения минимума функции, помогите пожалуйста: .Найти минимум функции...

Метод Ньютона для нахождения максимума/минимума.
Уважаемые форумчане помогите сделать задание в MathCAD. так как я вообще не знаю как в нем работать не могу даже выложить наработки....

15
 Аватар для Krasme
7244 / 5097 / 2151
Регистрация: 02.02.2014
Сообщений: 13,454
20.12.2018, 15:48
вы хоть попытки свои покажите...
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,265
Записей в блоге: 3
20.12.2018, 16:00
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
program test
implicit none
real :: a(4,5), minimum, summa, average
integer :: n
 
    call random_number(a); a=a*100  !Забиваем случайные числа
    minimum  = minval(a)            !Находим минимум
    summa  = sum (a)                !Находим сумму
    n=size(a)                       !находим количество
    average = summa / n             !Находим среднее арифметическое
 
print *, minimum, summa, n, average
end program test
Классически с циклами сами попробуйте, не получится подскажем.
1
0 / 0 / 0
Регистрация: 20.12.2018
Сообщений: 10
20.12.2018, 16:13  [ТС]
Для суммы получается вот так
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Program pp1
implicit none
integer:: a(4,5), s, i, j
data a/1,1,1,1,&
           1,1,1,1,&
           1,1,1,1,&
           1,1,1,1,&
           1,1,1,1/
s=0
do i=1,4
do j=1,5
s= s+a(i,j)
end do 
end do 
print*,s
end program pp1
А ведь чтобы среднее арифметическое найти можно просто s поделить на кол-во чисел. Только когда я это пишу он выдает ошибку
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,265
Записей в блоге: 3
20.12.2018, 16:20
Заключайте код в теги (в панели инструментов сообщения найдите тег FORTRAN) и делайте отступы

Вот ваш код:

Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Program pp1
implicit none
integer:: a(4,5), s, i, j
 
    data a/1,1,1,1,&
           1,1,1,1,&
           1,1,1,1,&
           1,1,1,1,&
           1,1,1,1/
s=0
 
    do i=1,4
        do j=1,5
            s= s+a(i,j)
        end do
    end do
 
print*,s
end program pp1
Этот код работает.

Цитата Сообщение от whiteroom12 Посмотреть сообщение
А ведь чтобы среднее арифметическое найти можно просто s поделить на кол-во чисел. Только когда я это пишу он выдает ошибку
А покажите что вы пишите то, и где показывает ошибку.
0
0 / 0 / 0
Регистрация: 20.12.2018
Сообщений: 10
20.12.2018, 16:23  [ТС]
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Program pp1
implicit none
integer:: a(4,5), s, i, j
 
    data a/1,1,1,1,&
           1,1,1,1,&
           1,1,1,1,&
           1,1,1,1,&
           1,1,1,1/
s=0
 
    do i=1,4
        do j=1,5
            s= s+a(i,j) 
        end do
    end do
 do s= s/20
end do
 
print*,s
end program pp1
Вот например
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,265
Записей в блоге: 3
20.12.2018, 16:29
Строка 18 лишняя, в строке 17 нужно убрать do
0
0 / 0 / 0
Регистрация: 20.12.2018
Сообщений: 10
20.12.2018, 16:33  [ТС]
А теперь как именно циклом найти общее кол-во чисел?
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,265
Записей в блоге: 3
20.12.2018, 16:40
Цитата Сообщение от whiteroom12 Посмотреть сообщение
А теперь как именно циклом найти общее кол-во чисел?
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Program pp1
implicit none
integer:: a(4,5), s, i, j, n
 
    data a/1,1,1,1,&
           1,1,1,1,&
           1,1,1,1,&
           1,1,1,1,&
           1,1,1,1/
 
s=0; n=0 
 
    do i=1,4
        do j=1,5
            s= s+a(i,j) 
            n=n+1
        end do
    end do
 
s = s / n
 
print*, s, n
end program pp1
1
0 / 0 / 0
Регистрация: 20.12.2018
Сообщений: 10
20.12.2018, 16:40  [ТС]
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Program pp1
implicit none
integer:: a(4,5), s, i, j
 
    data a/1,1,1,1,&
           1,1,1,1,&
           1,1,1,1,&
           1,1,1,1,&
           1,1,1,1/
s=0
 
    do i=1,4
        do j=1,5
            s= s+a(i,j) 
        end do
    end do
i=4
j=5
b= i*j
 
s=s/b
print*,s
end program pp1
Вот так, например, будет верно?
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,265
Записей в блоге: 3
20.12.2018, 16:47
Цитата Сообщение от whiteroom12 Посмотреть сообщение
Вот так, например, будет верно?
Ну конечно верно. Только что Вы здесь циклом то находите? Вручную же и задали количество, да еще и "b" не объявили в начале программы.
Вставьте счетчик в цикл, я выше пример привел.
1
0 / 0 / 0
Регистрация: 20.12.2018
Сообщений: 10
20.12.2018, 16:53  [ТС]
А как сделать чтобы выводилась еще и сумма?

Добавлено через 3 минуты
Все просто перед концом написал чтобы еще раз вывел S
Осталось понять как min и max искать
Цитата Сообщение от WH Посмотреть сообщение
Ну конечно верно. Только что Вы здесь циклом то находите? Вручную же и задали количество, да еще и "b" не объявили в начале программы.
Вставьте счетчик в цикл, я выше пример привел.
Добавлено через 59 секунд
прошу прощение за свою тупость
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,265
Записей в блоге: 3
20.12.2018, 16:58
Цитата Сообщение от whiteroom12 Посмотреть сообщение
А как сделать чтобы выводилась еще и сумма?
Вы же сумму нашли, она у Вас равна "s". Вот и впишите ее на вывод в оператор print, а среднее выразите не через "s", а через другую переменную, с другим именем и припишите в print через запятую.

Добавлено через 4 минуты
Цитата Сообщение от whiteroom12 Посмотреть сообщение
Осталось понять как min и max искать
точно так же в цикле, только нужно применить какую-то временную переменную, ей присвойте значение первого элемента массива, например

Fortran
1
temp=a(1,1)
а потом, в цикле, через оператор if сравнивать temp с каждым элементом массива и если условие будет выполняться, то переменной temp присваивать значение текущей ячейки. Пробуйте.
0
0 / 0 / 0
Регистрация: 20.12.2018
Сообщений: 10
20.12.2018, 17:05  [ТС]
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Program pp1
implicit none
integer:: a(4,5), s, i, j, n, min,max 
 
    data a/6,1,1,1,&
           5,1,1,1,&
           1,8,5,5,&
           5,5,3,5,&
           1,1,6,5/
 
s=0; n=0 
 
    do i=1,4
        do j=1,5
            s= s+a(i,j) 
            n=n+1
        end do
    end do
Print*,s  
s = s / n
 
print*, s, n
 
min=a(4,5)
 do i=1,4
 do j=1,5
  if(min>a(i,j)) min=a(i,j)
 end do
 end do
Print*, min
end program pp1

Я так сделал и все работает, безумно рад!
Спасибо вам большое !!!!
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,265
Записей в блоге: 3
20.12.2018, 17:13
Цитата Сообщение от whiteroom12 Посмотреть сообщение
Спасибо вам большое !!!!
Не за что. Только циклы можно было не плодить, а все сделать в рамках одного вложенного цикла. Не к чему 2 раза.
Fortran
1
2
3
4
5
6
7
8
9
10
11
12
do 
do
... 
end do 
end do
 
!второй раз лишний
do 
do
... 
end do 
end do
0
WH
1589 / 817 / 192
Регистрация: 10.09.2013
Сообщений: 3,265
Записей в блоге: 3
21.12.2018, 13:01
Лучший ответ Сообщение было отмечено whiteroom12 как решение

Решение

Вот так ваша программа посимпатичнее будет смотреться. И обратите внимание, что среднее значение вещественное, если выведете целым, то получите округленную цифру без остатка от деления, тут смотря что вам нужно.

Fortran
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Program pp1
implicit none
 
integer :: a(4,5)
integer :: s, i, j, n, temp_min, temp_max
real    :: average
 
    data a/6,1,1,1,&
           5,1,1,1,&
           1,8,5,5,&
           5,5,3,5,&
           1,1,6,5/
 
s=0; n=0 
temp_min=a(4,5) 
temp_max=a(4,5) 
 
    do i=1,4
        do j=1,5
            s= s+a(i,j) 
                if (temp_min > a(i,j)) then
                    temp_min = a(i,j)
                else if (temp_max < a(i,j)) then
                    temp_max = a(i,j)
                end if
            n=n+1
        end do
    end do
 
print 100, "Сумма           = ", s
print 100, "Минимальное     = ", temp_min
print 100, "Максимальное    = ", temp_max
print 100, "Число элементов = ", n
 
average = real (s) / real (n)
print 101, "Среднее         = ", average
 
100 format (a, i3)
101 format (a, f7.3)
end program pp1
Code
1
2
3
4
5
Сумма           =  67
Минимальное     =   1
Максимальное    =   8
Число элементов =  20
Среднее         =   3.350
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.12.2018, 13:01
Помогаю со студенческими работами здесь

Вычислить, используя подпрограмму функцию для нахождения максимума и минимума
добрый день, кто может помочь с задачей? Даны действительные числа x,y. Вычислить, используя подпрограмму функцию для нахождения...

Сложность поиска для минимума или максимума
Имеем таблицу с полями Категория , Цена и Параметр . Задача: написать запрос, который выведет из этой таблицы те записи, которые...

Найти сумму максимума и минимума в каждой матрице. В той матрице, где сумма больше, обнулить главную и побочную диагональ
Очень не укладываюсь в срок помогите подготовить программу: Даны две квадратные матрицы A и B. Найти сумму максимума и минимума в...

Шаблон функции нахождения максимума и минимума
Пожалуйста кто хорошо осведомлён в теме Шаблоны Объясните как написать функцию с использованием классов для нахождения и минимального и...

Функция нахождения максимума и минимума в массиве
вот мой код на максимум, но он что-то вообще не то делает: Type TMas = array of integer; function getMaxN(a:Tmas):integer; var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru