Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
JIioneJI
1 / 1 / 0
Регистрация: 04.01.2013
Сообщений: 121
1

Найти среднее арифметическое наибольшего и наименьшего значений в двумерном массиве

19.02.2013, 21:11. Просмотров 1118. Ответов 28
Метки нет (Все метки)

Данная действительная матрица размера 6х9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов.

Добавлено через 7 минут
Цитата Сообщение от JIioneJI Посмотреть сообщение
Данная действительная матрица размера 6х9. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов.
C++
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
#include<iostream>
#include <Windows.h>
#include <time.h>
using namespace std;
void main()
{
 SetConsoleOutputCP(1251);
 const int row=6,col=9;
 int mas[row][col], max,min,arifm;
 max=min=mas[1][1];
 for(int i=1;i<=6;i++)
  { 
   for(int j=1;j<=9;j++)
    {
      if(max<mas[i,j])
         max=mas[i,j];
    }
   }
 for(int i=1;i<=6;i++)
  { 
   for(int j=1;j<=9;j++)
    {
      if(min>mas[i,j])
         min=mas[i,j];
    }
   }
arifm=(max+min)/2;
}
как то так но не работает(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 21:11
Ответы с готовыми решениями:

Найти среднее арифметическое наибольшего и наименьшего значений ее элементов
помогите пожалуйста сделать задачу Дана целочисленная матрица размера 6*9. ...

Найти среднее арифметическое наибольшего и наименьшего значений элементов матрицы
Данная действительна матрица размера 6х9. Найти среднее арифметическое...

Среднее арифметическое наибольшего и наименьшего значений матрицы
дана действительная матрица размером n*m найти среднее арифметическое ее...

Определить среднее арифметическое наибольшего и наименьшего значений массива
Даны вещественные массивы D и A(задать динамически). Для каждого массива...

Для каждого массива определить среднее арифметическое наибольшего и наименьшего значений
даны двумерные вещественные массивы D, A для каждого массива определить среднее...

28
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
19.02.2013, 21:21 2
C++
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
41
#include<iostream>
#include <Windows.h>
#include <time.h>
using namespace std;
void main()
{
 SetConsoleOutputCP(1251);
 const int row=6,col=9;
 double arifm;
 double mas[row][col], max,min;
 
 // сначала инициализировать надо матрицу
 for(int i=0;i<6;i++)
  { 
   for(int j=0;j<9;j++)
   {
       // например так:
        mas[i][j] = (double)(i + j) / (i + 2);      
   }
 }
 
 max=min=mas[0][0];
 for(int i=0;i<6;i++)
  { 
   for(int j=0;j<9;j++)
    {
      if(max<mas[i][j])
         max=mas[i][j];
    }
   }
 for(int i=0;i<6;i++)
  { 
   for(int j=0;j<9;j++)
    {
      if(min>mas[i][j])
         min=mas[i][j];
    }
   }
arifm=(max+min)/2;
cout << arifm;
}
1
vodilawofer
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
19.02.2013, 21:22 3
Цитата Сообщение от JIioneJI Посмотреть сообщение
s=(max+min)/2;
s=(float)(max+min)/2;
Переменной s дробная часть не присвоиться. Для этого нужно изменить тип у переменной s на float
1
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
19.02.2013, 21:26 4
Цитата Сообщение от ITcrusader Посмотреть сообщение
double arifm;
Достаточно типа double в объявлении переменной

Добавлено через 1 минуту
s=(float)(max+min)/2;

Зачем делать это преобразование?)))
1
vodilawofer
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
19.02.2013, 21:30 5
ну т.е.
C++
1
arifm=(float)(max+min)/2;
0
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,673
19.02.2013, 21:30 6
Цитата Сообщение от JIioneJI Посмотреть сообщение
max=min=mas[1][1];
массивы с 0 начинаются
C++
1
max=min=mas[0][0];
и в циклах поправь
1
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
19.02.2013, 21:33 7
ValeryS, да я уже все поправил ему)
1
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,673
19.02.2013, 21:33 8
Цитата Сообщение от ITcrusader Посмотреть сообщение
s=(float)(max+min)/2;
Зачем делать это преобразование?)))
затем что если не будешь приводить
то выполнится действие а потом приведется
s=(1+2)/2;
получишь 1.0
1
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
19.02.2013, 21:38 9
Код:

Цитата Сообщение от ITcrusader Посмотреть сообщение
double mas[row][col], max,min;
Цитата Сообщение от ValeryS Посмотреть сообщение
затем что если не будешь приводить
то выполнится действие а потом приведется
s=(1+2)/2;
получишь 1.0
Ребят, с каких времен выражение "(double + double) / 2" требует преобразования в double, чтобы не быть целым числом?)
1
vodilawofer
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
19.02.2013, 21:42 10
Цитата Сообщение от ITcrusader Посмотреть сообщение
double mas[row][col]
зачем объялять массив типом double для хранения целых переменных?? такой массив много памяти будет занимать
1
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,673
19.02.2013, 21:45 11
Цитата Сообщение от ITcrusader Посмотреть сообщение
Ребят, с каких времен выражение "(double + double) / 2" требует преобразования в double, чтобы не быть целым числом?)
это у тебя массив
Цитата Сообщение от ITcrusader Посмотреть сообщение
double mas[row][col]
а в оригинале
Цитата Сообщение от JIioneJI Посмотреть сообщение
int mas[row][col]
я ж не знал что ты свой код коментируешь

Добавлено через 2 минуты
Цитата Сообщение от vodilawofer Посмотреть сообщение
такой массив много памяти будет занимать
да и работать медленней
1
ITcrusader
Эксперт С++
177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
19.02.2013, 21:46 12
Цитата Сообщение от JIioneJI Посмотреть сообщение
Данная действительная матрица размера 6х9.
Целых переменных?))) Полагаю, запутались.
Матрица - вещественна, соответственно, min и max - тоже. arifm - очевидно, тоже. Вывод - оперируем только лишь вещественными числами.
1
JIioneJI
1 / 1 / 0
Регистрация: 04.01.2013
Сообщений: 121
19.02.2013, 22:00  [ТС] 13
Подскажите а как вывести на экран всю матрицу,ну что б было именно 6х9? что то не получается походу есть ошибка где то
0
vodilawofer
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
19.02.2013, 22:11 14
Цитата Сообщение от JIioneJI Посмотреть сообщение
Подскажите а как вывести на экран всю матрицу,ну что б было именно 6х9? что то не получается походу есть ошибка где то
C++
1
2
3
4
5
for (int i =0; i < 6; ++i)
{
    for(int j = 0; j < 9; ++j)
    cout << mas[i][j]
}
1
JIioneJI
1 / 1 / 0
Регистрация: 04.01.2013
Сообщений: 121
19.02.2013, 22:12  [ТС] 15
Цитата Сообщение от vodilawofer Посмотреть сообщение
C++
1
2
3
4
5
for (int i =0; i < 6; ++i)
{
    for(int j = 0; j < 9; ++j)
    cout << mas[i][j]
}
да я припихнул это же и у меня одномерный массив вылазит
0
vodilawofer
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
19.02.2013, 22:15 16
Цитата Сообщение от JIioneJI Посмотреть сообщение
cout << mas[i][j]
C++
1
cout<<mas[i][j]<<"\n";
1
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,673
19.02.2013, 22:17 17
Цитата Сообщение от JIioneJI Посмотреть сообщение
да я припихнул это же и у меня одномерный массив вылазит
так строчку то переводи
примерно так
C++
1
2
3
4
5
6
for (int i =0; i < 6; ++i)
{
    for(int j = 0; j < 9; ++j)
       cout << mas[i][j]<<" "
    cout<<endl;
}
Добавлено через 55 секунд
vodilawofer,
у тебя все в столбик выведется
1
JIioneJI
1 / 1 / 0
Регистрация: 04.01.2013
Сообщений: 121
19.02.2013, 22:20  [ТС] 18
Цитата Сообщение от ValeryS Посмотреть сообщение
так строчку то переводи
примерно так
C++
1
2
3
4
5
6
for (int i =0; i < 6; ++i)
{
    for(int j = 0; j < 9; ++j)
       cout << mas[i][j]<<" "
    cout<<endl;
}
Добавлено через 55 секунд
vodilawofer,
у тебя все в столбик выведется
точно про пробел забыл))))

Добавлено через 1 минуту
Цитата Сообщение от ValeryS Посмотреть сообщение
так строчку то переводи
примерно так
C++
1
2
3
4
5
6
for (int i =0; i < 6; ++i)
{
    for(int j = 0; j < 9; ++j)
       cout << mas[i][j]<<" "
    cout<<endl;
}
Добавлено через 55 секунд
vodilawofer,
у тебя все в столбик выведется
ещё кое что лучше рандомно заполнить или что б пользователь вводил сам?
0
vodilawofer
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
19.02.2013, 22:20 19
Цитата Сообщение от ValeryS Посмотреть сообщение
так строчку то переводи
примерно так
C++
1
2
3
4
5
6
for (int i =0; i < 6; ++i)
{
    for(int j = 0; j < 9; ++j)
       cout << mas[i][j]<<" "
    cout<<endl;
}
Добавлено через 55 секунд
vodilawofer,
у тебя все в столбик выведется
и зачем ее переводить. второй цикл работает до первой точки запятой. а где у тебя находится cout ему все равно.
1
ValeryS
Модератор
7262 / 5516 / 692
Регистрация: 14.02.2011
Сообщений: 18,673
19.02.2013, 22:23 20
Цитата Сообщение от JIioneJI Посмотреть сообщение
точно про пробел забыл))))
да не в пробеле дело
внутренний цикл выводит все в строчку (через пробел)
потом переводится строка и мы опять обращаемся к внутреннему циклу
и до тех пор пока не отработает внешний цикл

Добавлено через 2 минуты
Цитата Сообщение от vodilawofer Посмотреть сообщение
и зачем ее переводить.
серьезно
попрбуй с пятой строчкой и без неё

Цитата Сообщение от vodilawofer Посмотреть сообщение
торой цикл работает до первой точки запятой. а где у тебя находится cout ему все равно.
а второй цикл?
0
19.02.2013, 22:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2013, 22:23

Найти среднее арифметическое ее наибольшего и наименьшего элементов
Дана матрица размером m×n. Найти среднее арифметическое ее наибольшего и...

Найти среднее арифметическое наибольшего и наименьшего элементов матрицы
Задана матрица целых чисел. Найти среднее арифметическое наибольшего и...

Найти среднее арифметическое наибольшего и наименьшего элементов матрицы
Дана действительная матрица размера 6x7. Найти среднее арифметическое...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru