Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2020, 20:02   #1
Artemii21
Пользователь
 
Регистрация: 04.04.2020
Сообщений: 26
Печаль си, рекурсивная функция

Помогите пожалуйста найти сумму элементов 1 и 4 строки двумерного массива. Я попробовал, но почему-то значение переменной s остается равным 0. Заранее спасибо

Код:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>

void inputMatrix(int n, int i, int j, int a[][10]) 
{
  if (i < n)
    if (j < n)
      printf("(%i,%i)= ", i, j), scanf("%i", & a[i][j]), inputMatrix(n, i, j + 1, a);
    else j = 0, inputMatrix(n, i + 1, j, a);
}
void OutputMatrix(int n, int i, int j, int a[][10]) 
{
  if (i < n)
    if (j < n)
      printf("%5i", a[i][j]), OutputMatrix(n, i, j + 1, a);
    else {
      puts(" ");
      OutputMatrix(n, i + 1, 0, a);
    }
}
int sumM(int n, int i, int j, int a[][10], int s) 
{
  if (i < n)
    if (j < n) {
      {
        if (i == 0 || i == 3) 
{
          s += a[i][j];
          sumM(n, i, j + 1, a, s);
        } else j = 0;
        sumM(n, i + 1, j, a, s);
      }
    }
  else return s;
}
void sumT(int n, int i, int j, int a[][10]) {
  int s = 0;
  if (i < n)
    if (j < n) 
{
      {
        printf("\ns= %i", s, sumM(n, i, i + 1, a, s));
      }
    }
}

main() 
{
  int c[10][10];
  inputMatrix(4, 0, 0, c);
  OutputMatrix(4, 0, 0, c);
  sumT(4, 0, 0, c);
  puts("\n");
  system("pause");
}
Изображения
Тип файла: jpg we.JPG (21.9 Кб, 9 просмотров)
Artemii21 вне форума Ответить с цитированием
Старый 01.05.2020, 22:47   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,341
По умолчанию

Во-первых, вам точно нужно все-все функции реализовывать рекурсивными? Во-вторых, определитесь, как хотите вернуть сумму: через аргумент функции, через возвращаемое значение функции.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсивная функция Alesia_Lesia Помощь студентам 1 18.11.2013 00:33
рекурсивная функция С++ Zapt1k Помощь студентам 7 05.06.2013 13:44
Рекурсивная функция C++ Buryy_Mishka Помощь студентам 0 31.05.2010 00:27
Рекурсивная функция Skinnyman Помощь студентам 4 16.03.2010 18:05