2016-10-25 5 views
0

Я выясняю, как увеличить число в интервале исправлений в массиве. Предположим, что число ввода I равно 3, тогда первая строка массива будет иметь (3,3,3,3), тогда вторая строка будет иметь (3,4,5,6), третья строка (3,5 , 7,9) и так далее. Из моего кода мне удается получить (3,4,5,6,7) для первой строки. Мне нужна помощь.Увеличение числа в интервале исправлений

#include <stdio.h> 

    #define NROW 4 
    #define NCOL 5 

void initialize(int a[4][5]) { 
    int x, y; 

    for (x = 0; x < 4; x++) { 
     for (y = 0; y < 5; y++) 
      a[x][y] = 0; 
    } 
} 

void disp_arr(int a[4][5]) { 
    int x, y; 

    for (x = 0; x < 4; x++) { 
     for (y = 0; y < 5; y++) { 
      printf("%i ", a[x][y]); 
     } 
     printf("\n"); 
    } 

} 

int assign(int a[4][5], int starting_no) { 
    int x, y; 

    for (x = 0; x < 1; x++) { 
     for (y = 0; y < 5; y++) { 
      a[0][y] = starting_no; 
      starting_no++; 
     } 
    } 

    return a[3][4]; 
} 

int main(void) { 

    int a[4][5], b; 

    initialize(a); 
    disp_arr(a); 

    printf("Please select a starting number :\n"); 
    scanf("%i", & b); 

    assign(a, b); 
    disp_arr(a); 

    printf("The biggest number in the array is : %i \n"); 


    return 0; 
} 

ответ

0

Ваша функция правопреемником будет выглядеть следующим образом:

int assign(int a[NROW][NCOL], int starting_no) 
{ 
    int x, y, old_starting_no; 

    old_starting_no = starting_no; 

    for (x = 0; x<NROW; x++) 
    { 
     starting_no = old_starting_no; 

     for (y = 0; y<NCOL; y++) 
     { 
      a[x][y] = starting_no; 
      starting_no += x; 
     } 
    } 

    return a[NROW-1][NCOL-1]; 
} 

Попробуйте использовать ваши определяет (NROW, Ncol) во всех коде, иначе это не Sence не определить что-нибудь :)

+0

Можете ли вы объяснить использование NROW-1 и NCOL-1? – WLL

+0

Посмотрите: https://msdn.microsoft.com/library/teas0593.aspx. #define создает макрос, который является ассоциацией идентификатора или параметризованного идентификатора с символической строкой. Поэтому вам нужно изменить только в ОДНОМ месте, где вы определяете его, а не во многих местах, где вы его используете. – duDE

+1

Хорошо. Спасибо вам :) – WLL

Смежные вопросы