Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
RedFox94

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

06.12.2012, 03:02. Показов 769. Ответов 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;

Исправьте код или объясните где нужно исправить
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2012, 03:02
Ответы с готовыми решениями:

Программа по поиску наименьшего по модулю элемента матрицы не работает корректно
Задание: Составить алгоритм обработки матрицы А типа short размером М х N (М≤10 строк, N≤10 столбцов). Значения М и N ввести с...

Упорядочить все элементы матрицы таким образом, чтобы при чтении матрицы по строкам ее элементы образовывали отсортированный по возрастанию массив
Разработать программу, которая вводит целочисленную матрицу из n строк и m столбцов (1&lt;n&lt;=100, 1&lt;m&lt;=50) и Упорядочить все...

Программа работает не корректно
Здравствуйте, помогите мне пожалуйста разобраться с программой. Вот само задание: Дано натуральное число n. Найти все меньшие n числа...

1
 Аватар для no_wearines
56 / 52 / 21
Регистрация: 01.01.2012
Сообщений: 347
06.12.2012, 05:19
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
#include <iostream>
#include <algorithm>
#include <vector>
#include <conio.h>
using namespace std;
 
bool f_1(int i_val_1)
{
return ((i_val_1 % 2) == 0);
}
 
void sort ( int **a, const int nstb, const int nstr)
{
vector<int> v_1(nstb * nstr);
int i_1, i_2, i_3;
 
for(i_1 = 0, i_3 = 0; i_1 < nstb; ++i_1)
for(i_2 = 0; i_2 < nstr; ++i_2)
v_1[i_3++] = a[i_1][i_2];
 
partition(v_1.begin(), v_1.end(), f_1);
 
for(i_1 = 0, i_3 = 0; i_1 < nstb; ++i_1)
for(i_2 = 0; i_2 < nstr; ++i_2)
a[i_1][i_2] = v_1[i_3++];
}
 
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++)
 {
 for (int j = 0; j < nstb; j++)
 cout<<a[i][j]<<" ";
 cout<<endl;
 }
 
 for(int i_1 = 0; i_1 < nstr; ++i_1) 
 delete [] a[i_1]; //Освобождение памяти, выделенной под массив 
 delete [] a; //освобождение памяьт, выделенной под массив
 
 getch();
 return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.12.2012, 05:19
Помогаю со студенческими работами здесь

Не корректно работает программа в C++
Составьте алгоритм программы, которая принимает от пользователя значение x и в зависимости от его значения, расчитывет значение функии f(x)...

Не корректно работает программа с класами
Привет Всем. У меня есть к Вам просьба. Я вот написал программу,но в ней редактирование и удаление данных из базы данных работает не...

Почему программа не работает корректно?
Здравствуйте! Столкнулся с такой проблемой при решении следующей задачи: Задача. Все элементы заданной матрицы, кроме элементов слобца...

Программа работает корректно, но не до конца
пользователь вводит шестизначное число. Разбить его на два трехзначных числа. и записать их в разные переменные. Вот мой код.:(...

Не корректно работает программа,посмотрите
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;iomanip.h&gt; #include &lt;math.h&gt; int main(void) { clrscr(); int x; ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru