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

Найти минимальный элемент матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Степень http://www.cyberforum.ru/cpp-beginners/thread177386.html
Хочу реализовать 2 в 3 степени .. но не могу докумекать как это сделать .. Каким циклом сделать лучше ? 2*2*2=8 ВНИМАНИЕ НЕ КИДАЙТЕ ГОТОВОЕ РЕШЕНИЕ ХОЧУ САМ ДОПЕТРИТЬ (ДЛЯ СЕБЯ РЕШАЮ , СОБАЧИЙ ИНТЕРЕС)
C++ Изменяется значение щетчика програма читает с файлов числа, и выводит на екран. Не могу понять, почему щетчики i,j после исполнения цыкла увеличиваются на 1? Пишу в VS 2010 к примеру в файле у меня 7 чисел, и соответственно i после исполнения цыкла должно = 6, а оно становится 7... код... #include <iostream> #include <fstream> http://www.cyberforum.ru/cpp-beginners/thread177374.html
C++ Оканчивается ли число на 1?
Помогите пожалуйста с алгоритмом, мне нужно определить, когда число оканчивается на 1 (кроме 11), т.е. 1, 21, 31, 41 и т.д.
C++ Поиск слова в тексте
Текст представляет собой програму на языке Си. Подсчитать количество инструкций for, вложеных в одну. Программа должна быть написана на языке Си прошу помощи
C++ Заменить цифры от 0 до 9 словами http://www.cyberforum.ru/cpp-beginners/thread177344.html
Нужно написать две проги: 1.Написать программу, которая вводит текст, состоящий из нескольких предложений, и выводит его на экран, заменив цифры от 0 до 9 словами «ноль», «один», ..., «девять», начиная каждое предложение с новой строки. 2.Дан текст. Определить количество слов, являющихся палиндромами. Добавлено через 2 минуты Очень прошу помочь, в понедельник сдавать, с синтаксисом у меня...
C++ Поиск слов в файле Здравствуйте. У меня такая задача: Разработать программу, которая осуществляет в текстовом файле поиск заданных слов. Слова последовательно вводятся с клавиатуры. Для каждого слова должно определяться количество вхождений и номера строк текста. Если указанное слово в файле отсутствует, то программа должна выводить соответствующее сообщение. Я, в принципе, все написала, кроме того, чтобы слова... подробнее

Показать сообщение отдельно
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
17.10.2010, 20:27     Найти минимальный элемент матрицы
Цитата Сообщение от vaselo Посмотреть сообщение
есть квадратный массив, вводится программистом
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include <iostream>
#include <ctime>
 
using std::cout;
using std::cin;
using std::endl;
int minimum, maximum,num_max,num_min;
int** input(int **arr, int rows, int cols)
 {
         for(int i=0; i<rows; i++)
         {
                 arr[i]=new int[cols];
                 for(int j=0; j<cols; j++)
                 {
                         
                         cout<<"arr["<<i<<"]["<<cols<<"]= ";
                         cin>>arr[i][j];
                 }
         }
   return arr;
 } 
int min_max(int **arr, int rows, int cols)
{
        int *min, *max;
        min = new int[cols];
        max = new int[cols];
        for(int i=0; i<rows; i++)
        {
                minimum = arr[i][0];
                maximum = arr[i][0];
                for(int j=0; j<cols; j++)
                 {
            if (arr[i][j]<minimum)
                         {
                                minimum=arr[i][j];
                         }
                        if (arr[i][j]>maximum)
                         {
                                maximum=arr[i][j];
                         } 
                 }
                max[i]=maximum;
                min[i]=minimum;
                
         }
        minimum = min[0];
        maximum = max[0];
        for(int i=0; i<cols; i++)
        {
                if (min[i]<minimum)
                  {
                        minimum = min[i];
                        num_min=i;
                  } 
        if (max[i]>maximum)
                  {
                        maximum = max[i];
                        num_max=i;
                  }
        }
        delete [] min;
    delete [] max;
        return 0;
 
}
 
int main()
{
        srand((unsigned)time(NULL));
        setlocale(LC_ALL,"Russian");
        int **arr;
        int rows,cols;
        cout<<"Введите количество строк: ";
         cin>>rows;
    cout<<endl;
        cout<<"Введите количество столбцов: ";
         cin>>cols;
        arr = new int*[rows];
        input(arr, rows, cols);
        cout<<endl;
        cout<<"Начальная матрица: "<<endl;
        for(int i=0; i<rows; i++)
         {
        for(int j=0; j<cols; j++)
                     {
                            cout<<arr[i][j]<<"  ";
                         }
                cout<<endl;
         }
        min_max(arr, rows, cols);
        cout<<"min "<<minimum<<" is "<<num_min<<endl;
        cout<<"max "<<maximum<<" is "<<num_max<<endl;
        cout<<"Конечная матрица: "<<endl;
     for(int i=0; i<rows; i++)
         {
        if(i==num_min)
                {
                        for(int j=0; j<cols; j++)
                     {
                            cout<<arr[num_max][j]<<"  ";
                         }
                }
                if(i==num_max)
                {
                        for(int j=0; j<cols; j++)
                     {
                            cout<<arr[num_min][j]<<"  ";
                         }
                }
                if(i!=num_max&&i!=num_min)
                {
                   for(int j=0; j<cols; j++)
                    {
                         cout<<arr[i][j]<<"  ";
                        }
                }
                cout<<endl;
         }
     for(int i=0; i<rows; i++)
           delete arr[i];
        delete [] arr;
  return 0;
}
Добавлено через 6 минут
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
arr[i][j]=rand()%9; // заполнение елементов массива случайными числами 
//cout<<"arr["<<i<<"]["<<cols<<"]= ";
//cin>>arr[i][j];
 
 
delete [] min; // очистка памяти
delete [] max;
return 0;
 
 
 
 
cout<<"Конечная матрица: "<<endl; 
for(int i=0; i<rows; i++)    
{
if(i==num_min) // если встречается строка с минимальным елементом
{
for(int j=0; j<cols; j++) // заменяем ее строкой с максимальным елементом 
{
cout<<arr[num_max][j]<<" ";
}
}
if(i==num_max) // если встречается строка с максимальным елементом
{
for(int j=0; j<cols; j++) // заменяем ее строкой с минимальным елементом
{
cout<<arr[num_min][j]<<" ";
}
}
if(i!=num_max&&i!=num_min) // если встречается другая строка  
{
for(int j=0; j<cols; j++) // выводим ее
 
cout<<arr[i][j]<<" ";
}
}
cout<<endl;
}
for(int i=0; i<rows; i++) // удаляем массивы максимальных и минимальных елементов
delete arr[i];
delete [] arr;
 
Текущее время: 22:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru