Нахождение суммы элементов матрицы, оба индекса которых четные - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите подкорректировать следующие функции
int sum(int **math,int m, int n)
{
    int x1,x2,summa=0;
    for(x1=0;x1<m;x1++)
      {
          for(x2=0;x2<n;x2++)
             {
                 if ((x1 % 2 ==0)&&(x2 % 2 == 0))
                 {
                      summa=summa+math[x1][x2];
                 }
             }
      }
                          printf("Summa: %d",summa);
}
Данная функция по идее писал для нахождения Суммы элементов, оба индекса которых четные.Например элемент [2][4] подходит, а [1][2] не подходит.Выводит не то что нужно.По идее берем по остатку от деления и если ноль то считаем число если нет то отбрасываем,но не так как надо работает(некорректно).Помогите подправить
int sort(int **math,int m, int n) 
{
    int x1,x2,k,s=0;
    printf("\n");
    printf("\tNew Matrix:\n\n");
for (x1=0; x1<m; x1++)
{
  for (k=n-1; k>0; k--)
  {
    for (x2=0; x2<k; x2++)
    {
      if (math[x1][x2] >math[x1][x2+1]) 
      {
                       s=math[x1][x2]; 
                           math[x1][x2]=math[x1][x2+1];
                             math[x1][x2+1]=s;
      }
    }
  }
}
for (x1=0; x1<m; x1++)          
             {
             for (x2=0; x2<n; x2++)
             {
             printf(" %d",math[x1][x2]);    
             }
             printf("\n");
             }
}
Сортировка строк в матрице по не убыванию их наибольших элементов.Она сортирует эллементы в самих строках,но не сортирует строки,надо чтобы строки только сортировала,например Пример
1 2 7 
4 3 5
2 0 9
Должно выдать
4 3 5 //наибольший элемент 5
1 2 7 //наибольший элемент 7
2 0 9 //наибольший элемент 9
А сейчас выдает
1 2 7 
3 4 5
0 2 9
Помогите доделать

Решение задачи: «Нахождение суммы элементов матрицы, оба индекса которых четные»

textual
Листинг программы
int sum(int** math, int m, int n)
{
   int x1, x2;
   int s = 0;
 
   for(x1 = 0; x1 < m; x1+= 2)
      for(x2 = 0; x2 < n; x2+= 2)        
     s+= math[x1][x2];
   return s;
}

Объяснение кода листинга программы

В данном коде представлена функция с именем sum, которая принимает в качестве аргументов матрицу (double pointer) math, а также значения m и n, которые представляют собой количество строк и столбцов матрицы соответственно. Внутри функции объявлены три переменные:

  1. x1 - переменная для хранения значения индекса строки матрицы.
  2. x2 - переменная для хранения значения индекса столбца матрицы.
  3. s — переменная для хранения суммы элементов матрицы. Далее, с помощью двух вложенных циклов выполняется итерация по всем элементам матрицы, удовлетворяющим условию, что индексы являются четными. Значение каждого такого элемента прибавляется к переменной s. По завершении циклов, функция возвращает значение переменной s.

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


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

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

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