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

Для прямоугольной матрицы найти минимальные и максимальные элементы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ два файла в один http://www.cyberforum.ru/cpp-beginners/thread137827.html
При решении задачи с толкнулся с проблемой. Как содержимое двух текстовых файлов перенести в третий?
C++ Подскажите как считать пробел! #include<iostream> #include<fstream> #include<stdlib.h> using namespace std; int main(){ int e =0; char c = 0; ifstream ink("in.txt"); while(ink>>c){ e++;} http://www.cyberforum.ru/cpp-beginners/thread137819.html
C++ Двумерный массив. Сложное программирование.
Соседями элемента Аij в матрице назовем элементы Аkl c i-1 ≤ k ≤ i+1, j -1 ≤ l ≤ j+1, (к, 1) ≠ (i, j). Операция сглаживания матрицы дает новую матрицу того же разме¬ра, каждый элемент которой получается как среднее арифметическое имеющих¬ся соседей соответствующего элемента исходной матрицы. Построить результат сглаживания заданной вещественной матрицы размером 10 на 10. В сглаженной матрице...
C++ Графика
Нужно: Разработать программу для вывода на экран в графическом режиме изображения движущегося объекта (шара).Направление движения задавать с клавиатуры (клавишами-стрелками) Кто может помочь с этой программой, прошу помощи, очень срочно надо. Спасибо
C++ файлы http://www.cyberforum.ru/cpp-beginners/thread137785.html
помогите найти ошибку выводит только цифры из файла вот мой код #include <iostream> #include <iterator> #include <conio.h> #include <fstream.h> #include <iomanip.h> #include <stdlib.h>
C++ Связать обьекты Помогите плиз! Мне попалось такое задание: Нужно проанализировать работу карьера. В карьере есть 1 измельчитель, 3 экскаватора, к каждому экскаватору приписано два 20-тонный и один 50-тонный самосвал. Столькнулся с проблемой, не знаю как связать самосвалы с экскаватором. подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
30.05.2010, 14:26     Для прямоугольной матрицы найти минимальные и максимальные элементы
диржыте!
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <climits>
 
struct Element {
    int row;
    int column;
    int value;
};
 
int rand_num(){
    return rand() % 201 - 100;
}
 
/* Для прямоугольной матрицы найти минимальный из положительных и максимальный из отрицательных элементов.
*  Нулевые элементы не учитывать. */
 
int main(){
    const int ROWS = 4;
    const int COLUMNS = 5;
    int matrix[ROWS][COLUMNS];
 
    // заполнение случайными числами, чтобы вручную по 20 штук их не вводить
    srand(time(NULL));
    for ( int i = 0; i < ROWS; ++i )
        std::generate_n(matrix[i], COLUMNS, rand_num);
 
    Element minPositive, maxNegative;
    minPositive.row = -1;
    minPositive.column = -1;
    minPositive.value = INT_MAX;
    maxNegative.row = -1;
    maxNegative.column = -1;
    maxNegative.value = INT_MIN;
 
    for (int i = 0; i < ROWS; ++i ){
        for ( int j = 0; j < COLUMNS; ++j ){
            if ( matrix[i][j] > 0 ){
                if ( matrix[i][j] < minPositive.value ){
                    minPositive.value = matrix[i][j];
                    minPositive.row = i;
                    minPositive.column = j;
                }
            }
            else if ( matrix[i][j] < 0 ){
                if ( matrix[i][j] > maxNegative.value ){
                    maxNegative.value = matrix[i][j];
                    maxNegative.row = i;
                    maxNegative.column = j;
                }
            }
        }
    }
 
    std::cout << "Matrix:" << std::endl;
    for ( int i = 0; i < ROWS; ++i ){
        for ( int j = 0; j < COLUMNS; ++j )
            std::cout << std::setw(4) << matrix[i][j];
        std::cout << std::endl;
    }
    if ( minPositive.row < 0 ){
        std::cout << "No positive elements." << std::endl;
    }
    else {
        std::cout << "First minimum positive element: [" << minPositive.row << "][" << minPositive.column
                << "] = " << minPositive.value << std::endl;
    }
    if ( maxNegative.row < 0 ){
        std::cout << "No negative elements." << std::endl;
    }
    else {
        std::cout << "First maximum negative element: [" << maxNegative.row << "][" << maxNegative.column
                << "] = " << maxNegative.value << std::endl;
    }
 
    exit(EXIT_SUCCESS);
}
 
Текущее время: 11:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru