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

Определить наименьший элемент в каждой четной строке матрицы А[M,N] - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Наглядные пособия, как делать не надо http://www.cyberforum.ru/cpp-beginners/thread85592.html
int *function (int s) { int *p; p=new int ; delete p; return p; } int *function (int s) { int r;
C++ неправильно находит остаток от деления. #include<conio.h> #include<iostream> using namespace std; void main () { int m,n; int q; cin >> m >> n; http://www.cyberforum.ru/cpp-beginners/thread85581.html
C++ WIN32, Windows(Окна) . Создание Доп.окон.
Снова я) Есть програмка. Программная среда -VisualStudio - проект Win32 . Есть основное окно. Нужно создать ещё одно. Как я понял , Дочерне окно - всегда выше основного. Мне же нужно ещё одно....
C++ Отрезки на плоскости
Найти расстояние между двумя произвольно заданными на плоскости отрезками. Кратчайшее расстояние между двумя не пересекающимися отрезками AB и CD - минимум из расстояний от точки C до AB и от D до...
C++ Соотношение Ньютона http://www.cyberforum.ru/cpp-beginners/thread85567.html
http://cs927.vkontakte.ru/u6735483/98873579/x_9c0a1f9c.jpg Помогите пожалуйста! Добавлено через 9 часов 27 минут http://cs927.vkontakte.ru/u6735483/98873579/x_9c0a1f9c.jpg Помогите...
C++ Работа со строками на С++ проверка на согласованность скобок. В арифметическом выражении проверить согласованность скобок, правильность их расположения и выдать соответствующее сообщение. Если можно нужно чтобы прога работала в Borland C++ v3.1 Буду... подробнее

Показать сообщение отдельно
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
14.01.2010, 12:20
Статической или динамической матрицы код

Добавлено через 1 минуту
Я спросил потому что, одному написал: статику, а он мне говорит можно ,что бы размеры
матрицы вводил юзер

Добавлено через 20 минут
Раз ответа не от кого нету сделаю два варианта: static and dinamic.

Добавлено через 28 минут
Вот тебе статика:

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.h>
 
void main(){
 
const int Height = 4;
const int Weight = 5;
 
int matrix[Height][Weight] = { 
    { 9,18,2,3,5     }, 
    { 9,19,1,3,5     }, 
    { 2,20,2,3,5     },
    { 1,25,1,3,5     }
 };
 
 
int min=matrix[0][0];               //ìèГ*ГЁГ¬Г*ëüГ*ûé
int priznak(-1);                    //ïðèçГ*Г*ГЄ Г·ВёГІГ*îñòè       
 
 
//Âû÷èñëÿåì ìèГ*ГЁГ¬Г*ëüГ*ûå Гў Г·ВёГІГ*ûõ ñòðîêГ*Гµ
//ГђГ*Г±Г¬Г*òðèâГ*ГҐГ¬ ГЇГ® ñòðîêГ*Г¬
for(int i = 0;i<Height;i++){
 
    int priznak = i%2;  //îïåðäåëÿåì Г·ВёГІГ*îñòü ñòðîêè
 
    //Г°Г*Г±Г¬Г*òðèâГ*ГҐГ¬ Г¬Г*Г±Г±ГЁГў: ñòðîêó        
    for(int j = 0;j<Weight;j++){
  
//ГђГ*Г±Г±Г¬Г*òðèâГ*ГҐ ýëåìåГ*ГІ åñëè ñòðîêГ* Г·ВёГІГ*Г*Гї        
if(priznak!=0)if(matrix[i][j]<min)min=matrix[i][j];  // ГЅГІГ® ìèГ*ГЁГ¬Г*ëüГ*ûé
 
 
    }
 
 
    //Âûâîäèì ìèГ*ГЁГ¬Г*ëüГ*ûé ýëåìåГ*ГІ åñëè ñòðîêГ* Г·ВёГІГ*Г*Гї
    if(priznak!=0){
    cout<<"Min in chet\t"<<min<<'\n'; }
 
    //ÓñòГ*Г*ГўГ*ëèâГ*ГҐГ¬ Г·ГІГ® ïåðâûé ýëåìåГ*ГІ ñëåäóþùåé ñòðîêè ìîæåò áûòü ìèГ*ГЁГ¬Г*ëüГ*ûì
    int nextstr=i+1;
    int nextstb=0;
    if(nextstr==Height)break;         //èñêëþ÷åГ*ГЁГҐ, Г·ГІГ® ГЎГ» Г*ГҐ îáðГ*ГІГЁГІГ±Гї Г§Г* ГЎГіГґГҐГ°
    min = matrix[nextstr][nextstb];
 
}
 
cout<<'\n';
cout<<"Print Matrix"<<'\n';
 
    //ÏîêГ*Г§ Г*Г* ГЅГЄГ°Г*Г*
    for(int p = 0;p<Height;p++){
    //Г°Г*Г±Г¬Г*òðèâГ*ГҐГ¬ Г¬Г*Г±Г±ГЁГў: ñòðîêó        
    for(int g = 0;g<Weight;g++)cout<<matrix[p][g]<<' ';
    cout<<'\n';
}
 
cout<<'\n';
 
 
}
Добавлено через 37 минут
Вот тебе динамика:

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
#include <iostream.h>
 
void main(){
int Height(0);   //высота матрицы
int Weight(0);   //ширина матрицы
 
int **matrix = NULL;  //указатель, указатель для хранения адреса начала матрицы
 
//ВВедите количество строк и столбцов матрицы
cout<<"Height\t";cin>>Height;
cout<<"Weight\t";cin>>Weight;
 
//Выделяем память под начала строк матрицы(указатели начала), а затем под сами строки
matrix = new int*[Height];
for(int j=0;j<Height;j++)matrix[j] = new int[Weight];
 
//Предложение заполнить матрицу
for(int y=0;y<Height;y++){
    for(int j=0;j<Weight;j++){
    cout<<"Num\t"<<y<<' '<<j<<'\t';
    cin>>matrix[y][j];
    cout<<'\n';
    }
    cout<<'\n';
}
 
 
 
 
 
int min=matrix[0][0];               //минимальный
int priznak(-1);                    //признак чётности       
 
 
//Вычисляем минимальные в чётных строках
//Расматриваем по строкам
for(int i = 0;i<Height;i++){
 
    int priznak = i%2;  //оперделяем чётность строки
 
    //расматриваем массив: строку        
    for(int j = 0;j<Weight;j++){
  
//Рассматривае элемент если строка чётная       
if(priznak!=0)if(matrix[i][j]<min)min=matrix[i][j];  // это минимальный
 
 
    }
 
 
    //Выводим минимальный элемент если строка чётная
    if(priznak!=0){
    cout<<"Min in chet\t"<<min<<'\n'; }
 
    //Устанваливаем что первый элемент следующей строки может быть минимальным
    int nextstr=i+1;
    int nextstb=0;
    if(nextstr==Height)break;         //исключение, что бы не обратится за буфер
    min = matrix[nextstr][nextstb];
 
}
 
//Выводим матрицу на экран
cout<<'\n';
cout<<"Print Matrix"<<'\n';
 
    //Показ на экран
    for(int p = 0;p<Height;p++){
    //расматриваем массив: строку        
    for(int g = 0;g<Weight;g++)cout<<matrix[p][g]<<' ';
    cout<<'\n';
}
 
cout<<'\n';
 
 
 
delete []matrix;   //освобождаем память из под матрицы
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru