georgi485
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ne_viens, ну да, уже заметил, ерунда на выходе получается. Уже аж моск кипит. Отправил схему, код и скрин исполнения программы преподавателю, посмотрим, что он скажет. UPD Отписался преподаватель, чего-то поправил у меня на схеме, но программа должным образом не заработала. Попросил товарища, который покупал готовую работу, скинуть решение аналогичной задачи (у него другой вариант). По аналогии с его решением сделал вывод матрицы Код: #include <stdio.h> #include <math.h> void main() { int i, j, n, k, s; printf("Введите размер квадратной матрицы: "); scanf("%d", &n); int a[n][n]; //если объявить массив раньше, чем программа получит размер массива, то она зависает printf("\nВведите элементы матрицы:\n"); for(i=0; i<n; i++) for(j=0; j<n; j++) scanf("%d", &a[i][j]); printf("\nВы ввели матрицу:\n"); for (i=0; i<n; i++) { for (j=0; j<n; j++) printf ("%5d ", a[i][j]); printf("\n"); } s=0; for(i=0; i<n; i++) s=s+a[i][i]; printf("Сумма элементов главной диагонали равна %d\n", s); printf("\nМассив из элементов исходной матрицы,\nрасположенных выше побочной диагонали\nи по модулю больших суммы элементов главной диагонали\n"); k=0; int b[k]; //если объявить массив раньше, чем программа получит размер массива, то она зависает for(i=0; i<n; i++) for(j=0; j<n; j++) if ((i+j<=n) && (abs(a[i][j])>s)) { b[k]=a[i][j]; printf("%5d", b[k]); k++; } if(k==0) printf("\nТаких элементов нет"); } | Вроде работает | Всего записей: 19 | Зарегистр. 20-12-2010 | Отправлено: 23:19 04-10-2015 | Исправлено: georgi485, 12:32 25-10-2015 |
|