Выяснить, имеются ли в матрице ненулевые элементы и, если имеются, вывести их индексы - 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);
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы