Выяснить, имеются ли в матрице ненулевые элементы и, если имеются, вывести их индексы - C (СИ)
Формулировка задачи:
Здравствуйте. Задача следующая - дается матрица n x n (n=1...15). Необходимо выяснить, имеются ли в матрице ненулевые элементы и, если имеются, вывести их индексы.
Я составил программу, которая создает матрицу, заполняет ее случайными числами и ищет среди них отличные от нуля. Так же она должна вроде бы как выводить индексы этих ненулевых элементов, но каждый раз, если такие элементы имеются, программа выводит следующие числа:
i=2686780
j=2686776
Не понимаю, в чем ошибка, ведь максимальный возможный индекс может быть 15x15, а тут получается 2686780 x 2686776. Нужна ваша помощь, чтобы вставить в программу фрагмент, при помощи которого на экран бы выводились индексы ненулевых элементов массива.
Ниже приведена составленная мною программа:
Листинг программы
- #include <stdio.h>// îáúÿâëåГ*ГЁГҐ Г§Г*ãîëîâî÷Г*ûõ ГґГ*éëîâ
- #include <math.h>
- #include <stdlib.h>
- #include <conio.h>
- #include <time.h>
- #include <locale.h>
- #define SIZE 15
- int main()// ГЈГ«Г*ГўГ*Г*Гї ГґГіГ*ГЄГ¶ГЁГї: Г*Г*Г·Г*ëî ïðîãðГ*ììû
- {
- setlocale(LC_ALL,"Russian");// ГґГіГ*ГЄГ¶ГЁГї, Г*åîáõîäèìГ*Гї äëÿ îòîáðГ*æåГ*ГЁГї ðóññêîãî ÿçûêГ* Гў ГЄГ®Г*ñîëè
- int i, j, n, a[SIZE][SIZE]; // îáúÿâëåГ*ГЁГҐ ïåðåìåГ*Г*ûõ öåëîãî ГІГЁГЇГ* ГЁ öåëî÷èñëåГ*Г*îãî äâóìåðГ*îãî Г¬Г*Г±Г±ГЁГўГ*
- printf("Ââåäèòå ÷èñëî îò 1 äî 15 \n");// âûâîä ГІГҐГЄГ±ГІГ* Г*Г* ГЅГЄГ°Г*Г*
- scanf("%d",&n); // Г§Г*ГЇГЁГ±Гј Г¤Г*Г*Г*ûõ Гў ïåðåìåГ*Г*ГіГѕ n
- if((n<0)||(n>15))
- {
- printf("Íåîáõîäèìî ГўГўГҐГ±ГІГЁ ÷èñëî n Гў ïðåäåëГ*Гµ îò 0 äî 15");
- getch();
- return 0;
- }
- else
- srand(time(NULL));
- for (i=0; i<n; i++)// âûïîëГ*ГҐГ*ГЁГҐ Г¶ГЁГЄГ«Г* îò Г*óëÿ äî (n-1) Г± ГёГ*ãîì 1
- {
- for (j=0; j<n; j++)// âûïîëГ*ГҐГ*ГЁГҐ Г¶ГЁГЄГ«Г* îò Г*óëÿ äî (n-1) Г± ГёГ*ãîì 1
- {
- a[i][j]=rand()%100; // ôîðìóëГ* äëÿ Г§Г*ïîëГ*ГҐГ*ГЁГї Г¬Г*Г±Г±ГЁГўГ* ñëó÷Г*Г©Г*ûìè Г·ГЁГ±Г«Г*ìè
- //printf("%4d", a[i][j]);
- }
- //printf("\n");
- }
- if (a[i][j]!=0)
- {printf("i=%d\n",&i);
- printf("j=%d\n",&j);
- }
- }
Решение задачи: «Выяснить, имеются ли в матрице ненулевые элементы и, если имеются, вывести их индексы»
textual
Листинг программы
- if (a[i][j]!=0)
- {printf("i=%d\n",i);
- printf("j=%d\n",j);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д