Rumah > Artikel > pembangunan bahagian belakang > Dalam program C, selepas melakukan beberapa operasi kenaikan julat tatasusunan, cetak tatasusunan yang diubah suai
Diberi arr[m] tatasusunan yang mengandungi m integer dan n (nilai untuk ditambahkan pada tatasusunan) dan r pertanyaan diberi sedikit permulaan dan akhir. Untuk setiap pertanyaan kita perlu menambah nilai n dari awal hingga akhir had dalam tatasusunan. .
Input: arr[] = {1, 2, 3, 4, 5} query[] = { { 0, 3 }, { 1, 2 } } n = 2 Output: If we run above program then it will generate following output: Query1: { 3, 4, 5, 6, 5 } Query2: { 3, 6, 7, 6, 5 }
START STEP 1 : DECLARE A STRUCT range for start AND end LIMITS STEP 2 : IN FUNCTION add_tomatrix(int arr[], struct range r[], int n, int size, int m) int i, j, k; LOOP FOR i = 0 AND i < m AND i++ LOOP FOR j = r[i].start AND j<= r[i].end AND j++ arr[j] = arr[j] + n END FOR LOOP FOR k = 0 AND k < size AND k++ PRINT arr[k] END FOR END FOR STOP
#include <stdio.h> struct range{ int start, end; //struct to give the range for the array elements }; int add_tomatrix(int arr[], struct range r[], int n, int size, int m){ int i, j, k; for ( i = 0; i < m; i++) //for all the elements in a struct we defined{ for(j = r[i].start; j<= r[i].end; j++) //from where till where we want our results to be updated{ arr[j] += n; //add the value of the particular range } printf("Query %d:", i+1); for ( k = 0; k < size; k++){ printf(" %d",arr[k]); // print the whole array after every query } printf("</p><p>"); } } int main(int argc, char const *argv[]){ int arr[] ={3, 4, 8, 1, 10}; struct range r[] = {{0,2}, {1, 3}, {3, 4}}; int n = 2; int size = sizeof(arr)/sizeof(arr[0]); int m = sizeof(r)/sizeof(r[0]); add_tomatrix(arr, r, n, size, m); return 0; }
Atas ialah kandungan terperinci Dalam program C, selepas melakukan beberapa operasi kenaikan julat tatasusunan, cetak tatasusunan yang diubah suai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!