HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Нужен совет с кодом (https://hlfx.ru/forum/showthread.php?threadid=4698)
Отправлено Chyvachok 08-12-2015 в 17:01:
Нужен совет с кодом
Мне по предмету в универе надо сделать прогу, в которой надо ввести массив не больше 100 элементов, и чтобы с этого массива в матрицу 10 на 10 вводились по столбацам начиная с левого, элементы с минусом начиная с конца массива, я что-то там набылокодил, вроде делает что надо, но если последний элемент массива с плюсом, вместо того чтобы в матрице 1 элементом вместо него написать следущий элемент массива с минусом, там пишет ноль, если последний с минусом то все нормально, я пока не допру как это подправить, да и может кто подскажет как еще можно улучшить код, а то я несколько лет этот с++ вообще не трогал и успел все забыть.
C++ Source Code:
7 | int arrsize; //размер массива А |
8 | int her=0; //позже уберу |
10 | cout << "Введите размер массива А (не больше 100):" << endl; |
17 | for ( int i = 0; i < arrsize; i++ ) |
19 | //cout << "Введите элемент массива А[" << i << "]= "; |
21 | if (her == 0) //чтобы чередовались минусовые и плюсовые числа позже надо будет поменять на рандом |
34 | int element = arrsize-1; //Для ввода чисел из массива с конца |
36 | // Заполнение матрицы по столбцам минусовыми элементами массива с конца |
37 | for ( int j = 0; j < 10; j++ ) |
39 | for ( int i = 0; i < 10; i++ ) |
54 | } while (A[element] > 0); |
59 | cout << "Массив A:" << endl; |
60 | for ( int i = 0; i < arrsize; i++ ) |
62 | cout << "A[" << i << "]=" << A[i] << " "; |
67 | cout << "Матрица C:" << endl; |
68 | for ( int i = 0; i < 10; i++ ) |
70 | for ( int j = 0; j < 10; j++ ) |
72 | cout << "C[" << i << "][" << j << "]=" << C[i][j] << " "; |
Отправлено XaeroX 08-12-2015 в 18:18:
Chyvachok
Лучше в таких случаях приводить пару примеров в стиле "исходные данные - ожидаемый результат". Словами не всегда понятно описывается.
Если я правильно пони, нужно заполнить матрицу по столбцам только отрицательными числами с конца массива? Ну так и заполняй без всяких хитростей:
C++ Source Code:
1 | for ( int i = arrsize-1, j = 0; i >= 0; --i ) { |
ЗЫ: код компилировал в уме, так что если где-то опечатался - сорри.
Отправлено Chyvachok 08-12-2015 в 19:45:
Цитата:
XaeroX писал:
Если я правильно пони, нужно заполнить матрицу по столбцам только отрицательными числами с конца массива?
Да, спасибо за код, попробую его заюзать.
Добавлено 08-12-2015 в 21:45:
XaeroX работает отлично, не пропускает уже числа как у меня, остальнось сделать чтобы он столбцы заполнял, а не строки, то есть вертикально, я пока не разобрался как код работает, когда то у нас было програмирование, но я уже забыл уже эти все операторы
Отправлено ComradeAndrew 08-12-2015 в 19:54:
Chyvachok, поменяй просто местами обращения к индексам.