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

Не корректно работает программа (Упорядочить элементы матрицы) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ уплотнение памяти http://www.cyberforum.ru/cpp-beginners/thread721136.html
помогите исправить ошибку в коде. условие: Реализовать заданную стратегию управления памятью. Реализовать базовые операции управления оперативной памятью. - Выделение блока памяти заданного...
C++ Прочитать неограниченное количество строк, а после нажатия Enter выйти из цикла Здравствуйте. Столкнулся с такой проблемой: необходимо прочитать неограниченное количество строк, а после нажатия Enter выйти из цикла. Делаю так: #include <iostream> #include <string> using... http://www.cyberforum.ru/cpp-beginners/thread721113.html
Замена чисел в строке C++
условие: в строке заменить все числа на введенное с клавиатуры выдает ошибку: Unsigned(c+1)<=256. вот код: #include<iostream> using namespace std; void main() { setlocale(LC_ALL,"rus");...
C++ не запускается программа, выводящая содержимое файла
Эта программа по идее должна выводить на экран содержимое произвольно заданного файла, но не запускается дальше того, как вводится название файла( В чем ошибка? #include "iostream.h" #include...
C++ Найти площадь пятиугольника http://www.cyberforum.ru/cpp-beginners/thread721094.html
Даны вещественные числа а, b, с, d, e. Найти площадь пятиугольника, изображенного на рис.2. (Определить функцию для расчета площади треугольника по трем его сторонам.) только чтобы на с++. или на...
C++ Нужно поправить программу (тема - функции) Дан интервал натуральных чисел . Напечатать на экране все те числа, которые принадлежат этому интервалу и которые можно выразить как сумму квадратов двух натуральных чисел (используя функцию, которая... подробнее

Показать сообщение отдельно
RedFox94
Сообщений: n/a

Не корректно работает программа (Упорядочить элементы матрицы) - C++

06.12.2012, 03:02. Просмотров 348. Ответов 1
Метки (Все метки)

Условие:
Дана матрица целых чисел N* M.Упорядочить элементы матрицы так чтобы четные элементы матрицы максимально плотно заняли верхнюю часть матрицы,а не четные нижнюю.

Код:
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
#include <iostream>
 #include <cmath>
 using namespace std;
 void sort( int **a, const int nstb, const int nstr); 
 int main(){
 cout <<"Vvedite razmer massiva\n";
 int nstr,nstb;
 cin >> nstr >> nstb;
 int **a = new int *[nstr];
 for (int i = 0; i < nstr; i++)
 a[i] = new int [nstb];
 cout <<"Vvedite elementi\n";
 for (int i = 0;i < nstr; i++)
 for (int j = 0; j < nstb; j++)
 cin >>a[i][j];
 sort (a,nstb,nstr); 
 for (int i = 0; i < nstr; i++){
 cout <<"\n";
 for (int j = 0; j < nstb; j++)
 cout << a[i][j] <<"\t";} 
 cin.get();
cin.get();
  return 0;
 }
 void sort ( int **a, const int nstb, const int nstr){
 int buf = 0;
 int kol = (nstr / 2);
 for (int j = 0; j < nstb; j++)
 for (int i = 0; i < kol + 1; i++){
 if ((a[i][j] % 2 !=0) && a[i + kol][j] % 2 == 0) {
 buf = a[i+kol][j];
 a[i+kol][j] = a[i][j];
 a[i][j] = buf;
 }
 }
 }
Проблема:При вводе размера матрицы 3х3 идеально работает,а есле ввести 4х4 не хочет работать.Скорей всего и за выхода за границы массива так как считает от 0 до 3;

Исправьте код или объясните где нужно исправить
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru