Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / целочисленная матрица - C++ / 7 сообщений из 7, страница 1 из 1
18.11.2015, 18:50
    #39107123
fr0st1k123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
целочисленная матрица - C++
дана целочисленная матрица порядка n на m.
Определить ,упорядочены ли по убыванию элементы k-ой строки.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
#include "stdafx.h"
#include "iostream"
#include "time.h"
using namespace std;

int main()
{
	int k;
	cin >> k;
	int a[10][9];
	srand(time(0));
	for (int i = 0; i < 10; i++)
		for (int j = 0; j < 9; j++)
			a[i][j] = rand() % 10;
	for (int j = 0; j < 9; j++)
		if (a[k][j]>a[k][j+1])
			cout << "uporyadochen";
		else
			break;
	

    return 0;
}


что в ней нужно исправить?
...
Рейтинг: 0 / 0
18.11.2015, 19:47
    #39107166
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
целочисленная матрица - C++
fr0st1k123что в ней нужно исправить?
Да много чего надо исправить. Отладчик и пошаговое исполнение укажут что именно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.11.2015, 19:59
    #39107174
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
целочисленная матрица - C++
Dimitry Sibiryakov,
да вряд ли...
...
Рейтинг: 0 / 0
19.11.2015, 01:46
    #39107291
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
целочисленная матрица - C++
fr0st1k123,

k может выйти за границу массива.
Во втором цикле j<9 но j+1<10, что так же за пределами массива.
Сообщать "упорядочен" следует после проверки всей строки, а не каждой пары смежных ячеек.
Размеры массива многократно продублированы в коде в виде магических чисел. Их следует объявить константами.
...
Рейтинг: 0 / 0
19.11.2015, 02:17
    #39107296
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
целочисленная матрица - C++
fr0st1k123что в ней нужно исправить?

алгоритм.
Что у вас такое ?
Код: plaintext
1.
2.
3.
4.
5.
for (int j = 0; j < 9; j++)
		if (a[k][j]>a[k][j+1])
			cout << "uporyadochen";
		else
			break;



В первом приближении

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
//r-the row number for verification
bool isOrderedRow(const int* buf, size_t m, size_t n, size_t r)
{
	if (r > m-1){
		//do smth Покажите нам что вы сделаете тут, когда вы это сделаете
	}
	for (int i = 0; i < n-1; ++i){
		if (*(buf + r*n + i) <= *(buf + r*n + i + 1))
			return false;
	}
	return true;
}


...
int a[10][3];
	srand(time(0));
	for (int i = 0; i < 10; i++){
		for (int j = 0; j < 3; j++){
			a[i][j] = rand() % 10;
			printf("%i ", a[i][j]);
		}
		printf("   %i\n", isOrderedRow(&a[0][0], 10, 3, i));
	}
...
Рейтинг: 0 / 0
19.11.2015, 11:17
    #39107510
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
целочисленная матрица - C++
SashaMercury,

потерял:

int k;
cin >> k;
.

нужна проверка для одной указанной строки.


&a[0][0] == a

А слабо template сделать для bool isOrderedRow(const int* buf, size_t m, size_t n, size_t r)?

В функцию можно только проверяемую строку передавать:


isOrderedRow(a[k], 3)
...
Рейтинг: 0 / 0
20.11.2015, 01:40
    #39108408
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
целочисленная матрица - C++
mcureenabпотерял:

int k;
cin >> k;
.
нужна проверка для одной указанной строки.

1. Мне может быть за него лабу полностью сделать ?И ещё курсач или что там ему задали ?

mcureenab&a[0][0] == a

2. вы уверены что в данном конкретном случае я смогу таким образом передать адрес двумерного массива в функцию ?

mcureenabА слабо template сделать для bool isOrderedRow(const int* buf, size_t m, size_t n, size_t r)?

3. а он поймёт ?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / целочисленная матрица - C++ / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]