Мне по предмету в универе надо сделать прогу, в которой надо ввести массив не больше 100 элементов, и чтобы с этого массива в матрицу 10 на 10 вводились по столбацам начиная с левого, элементы с минусом начиная с конца массива, я что-то там набылокодил, вроде делает что надо, но если последний элемент массива с плюсом, вместо того чтобы в матрице 1 элементом вместо него написать следущий элемент массива с минусом, там пишет ноль, если последний с минусом то все нормально, я пока не допру как это подправить, да и может кто подскажет как еще можно улучшить код, а то я несколько лет этот с++ вообще не трогал и успел все забыть.
C++ Source Code:
1
#include <iostream>
2
3
usingnamespace std;
4
5
int main()
6
{
7
int arrsize; //размер массива А
8
int her=0; //позже уберу
9
10
cout << "Введите размер массива А (не больше 100):" << endl;
11
cin >> arrsize;
12
13
int A[arrsize];
14
int C[10][10];
15
16
// заполнение массива
17
for ( int i = 0; i < arrsize; i++ )
18
{
19
//cout << "Введите элемент массива А[" << i << "]= ";
20
//cin >> A[i];
21
if (her == 0) //чтобы чередовались минусовые и плюсовые числа позже надо будет поменять на рандом
22
{
23
A[i] = i+1;
24
her++;
25
}
26
else
27
{
28
A[i] = -i+1;
29
her--;
30
}
31
//cout << endl;
32
}
33
34
int element = arrsize-1; //Для ввода чисел из массива с конца
35
36
// Заполнение матрицы по столбцам минусовыми элементами массива с конца
Chyvachok
Лучше в таких случаях приводить пару примеров в стиле "исходные данные - ожидаемый результат". Словами не всегда понятно описывается.
Если я правильно пони, нужно заполнить матрицу по столбцам только отрицательными числами с конца массива? Ну так и заполняй без всяких хитростей:
C++ Source Code:
1
for ( int i = arrsize-1, j = 0; i >= 0; --i ) {
2
if ( A[i] >= 0 )
3
continue;
4
C[j/10][j%10]=A[i];
5
++j;
6
}
ЗЫ: код компилировал в уме, так что если где-то опечатался - сорри.
XaeroX писал: Если я правильно пони, нужно заполнить матрицу по столбцам только отрицательными числами с конца массива?
Да, спасибо за код, попробую его заюзать.
Добавлено 08-12-2015 в 21:45:
XaeroX работает отлично, не пропускает уже числа как у меня, остальнось сделать чтобы он столбцы заполнял, а не строки, то есть вертикально, я пока не разобрался как код работает, когда то у нас было програмирование, но я уже забыл уже эти все операторы