кодесурса
«C

Упражнения C: переставьте массив так, чтобы arr [i] становился arr [arr [i]] из массива размера n, а элементы находились в диапазоне от 0 до n-1

script1adsense2code
script1adsense3code

C Array: Упражнение-90 с раствором

Дан массив размера n такой, что каждый элемент находится в диапазоне от 0 до n-1. Напишите программу на C, чтобы переставить данный массив так, чтобы arr [i] стал arr [arr [i]].

Пример решения:

Код C:

#include<stdio.h> 
  
void arrayArrange(int arr1[], int n) 
{ 
    for (int i=0; i < n; i++) 
        arr1[i] += (arr1[arr1[i]]%n)*n; 
  
    for (int i=0; i<n; i++) 
        arr1[i] /= n; 
} 
  
void arrayPrinting (int arr1[], int n) 
{ 
    for (int i = 0; i < n; i++) 
        printf("%d  ", arr1[i]); 
    printf("\n"); 
} 
  
int main() 
{ 
    int arr1[] = {2, 1, 4, 3, 0}; 
    int n = sizeof(arr1)/sizeof(arr1[0]); 
  
    printf("The Original array is \n"); 
    arrayPrinting(arr1, n); 
  
    arrayArrange(arr1, n); 
  
    printf("The modified array is: \n"); 
    arrayPrinting(arr1, n); 
    return 0; 
}  

Пример вывода:

 Исходный массив 
2 1 4 3 0  
Модифицированный массив: 
4 1 0 3 2

Блок - схема:

«Блок-схема:

Редактор кода программирования C:

Улучшите этот пример решения и опубликуйте свой код через Disqus.

Предыдущий: Напишите программу на C, чтобы найти квадратную подматрицу максимального размера со всеми единицами.
Далее: дан несортированный массив определенного размера. Напишите программу на C, чтобы найти минимальную длину подмассива, чтобы при сортировке этого подмассива весь массив был отсортирован.

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code