Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ququ_smile
1 / 1 / 0
Регистрация: 28.01.2013
Сообщений: 153
#1

Посчитать кол-во элементов между максимальным и минимальным значением элементов двумерного массива( подразумевается, что эти значения уже найдены) - C++

17.03.2013, 02:38. Просмотров 545. Ответов 2
Метки нет (Все метки)

Как посчитать?
З.Ы. массив 5х2(если это важно...)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 02:38     Посчитать кол-во элементов между максимальным и минимальным значением элементов двумерного массива( подразумевается, что эти значения уже найдены)
Посмотрите здесь:
C++ Найти сумму элементов массива, расположенных между элементами с минимальным и максимальным значением
C++ Заменить значения элементов последовательности с максимальным и минимальным значением на среднее
C++ Посчитать в стеке количество элементов между минимальным и максимальным значениями
Вычислить сумму отрицательных элементов массива и произведение элементов, расположенных между максимальным и минимальным элементами C++
В одномерном массиве вычислить сумму отрицательных элементов, произведение элементов массива между максимальным и минимальным элементами C++
C++ Произведение элементов массива, расположенных между максимальным и минимальным элементами
Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
C++ Вычислить количество элементов массива между максимальным и минимальным элементами
C++ Произведение элементов массива, расположенных между максимальным и минимальным элементами
Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
Найти сумму элементов массива между максимальным и минимальным элементами C++
Произведение элементов массива, расположенных между максимальным и минимальным элементами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
17.03.2013, 19:42     Посчитать кол-во элементов между максимальным и минимальным значением элементов двумерного массива( подразумевается, что эти значения уже найдены) #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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <ctime>
#include <cstdlib>
 
const int LENGTH = 5;
const int HEIGHT = 2;
 
int arr[HEIGHT][LENGTH];
 
void show_arr()
{
    for (int i = 0; i < HEIGHT; ++i)
        for (int j = 0; j < LENGTH; ++j)
        {
            std::cout << arr[i][j];
            std::cout << ((j % LENGTH == LENGTH - 1) ? '\n' : ' ');
        }
}
 
void gen()
{
     for (int i = 0; i < HEIGHT; ++i)
        for (int j = 0; j < LENGTH; ++j)
            arr[i][j] = std::rand() % 100;
}
 
int cnt()
{
    const int* const b = reinterpret_cast<int*>(arr);
    const int* pb = b;
    const int* min_p = b, *max_p = b;
    while (pb < b + (HEIGHT * LENGTH))
    {
        if (*pb > *max_p)
            max_p = pb;
        if (*pb < *min_p)
            min_p = pb;
        ++pb;
    }
    std::cout << "Min = " << *min_p << ", max = " << *max_p << '\n';
    
    if ((b + (HEIGHT * LENGTH)) - max_p > (b + (HEIGHT * LENGTH) - min_p))
    {
        const int* tmp = max_p;
        max_p = min_p;
        min_p = tmp;
    }
    int count_ix = 0;
    for (++min_p; b + (HEIGHT * LENGTH) - min_p > (b + (HEIGHT * LENGTH) - max_p); ++min_p)
        ++count_ix;
 
    return count_ix;
}
 
int main()
{
    std::srand(time(0));
    gen();
    show_arr();
    std::cout << cnt() << '\n';
}
ququ_smile
1 / 1 / 0
Регистрация: 28.01.2013
Сообщений: 153
19.03.2013, 04:05  [ТС]     Посчитать кол-во элементов между максимальным и минимальным значением элементов двумерного массива( подразумевается, что эти значения уже найдены) #3
Спасибо, но я уже сам справился...
З.Ы. хоть пояснения в код вставляйте...
Вот мой код:
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
int main(void)
{
 const int  n=5, m=2;
 double mas[n][m];   /* объява двумерного массива*/
 
 double min=0,max=0;
 int posmin=0, posmax=0,pos=0;
 
 /* ввод массива с клавы */
 for(int i=0; i<n; i++)
 {
  for(int j=0; j<m; j++)
  {
   cout<<"Введите число: ";
            cin>>mas[i][j];
  }
 }
 
 /* Вывод начального массива */
 cout<<"Begining mas"<<endl;
 for(int i=0; i<n; i++)
 {
  for(int j=0; j<m; j++)
  {
   cout<<mas[i][j]<<'\t';
  }
  cout<<endl;
 }
 
 /* Вычисление максимума и минимума*/
 min = mas[0][0], max = mas[0][0];
 for(int i=0; i<n; i++)
 {
  for(int j=0; j<m; j++)
  {
   if(mas[i][j] < min)
   {
    min = mas[i][j];
    posmin = j+(i*m);
   }
   if(mas[i][j] > max)
   {
    max = mas[i][j];
    posmax = j+(i*m);
   }
  }
 }
 pos = abs(posmax-posmin)-1;
 cout<<endl;
 
 cout<<"Min: "<<min<<endl;
 cout<<"Max: "<<max<<endl;
 cout<<"Index min:"<<posmin+1<<endl;
 cout<<"Index max:"<<posmax+1<<endl;
 cout<<"Количество чисел между Max и Min: "<<pos<<endl;
 system("PAUSE");
 return 0;
}
Yandex
Объявления
19.03.2013, 04:05     Посчитать кол-во элементов между максимальным и минимальным значением элементов двумерного массива( подразумевается, что эти значения уже найдены)
Ответ Создать тему
Опции темы

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