Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- //0 : индекс первого нулевого элемента.
- int index_first_zero(int array[], int size)
- {
- for(int i = 0; i < size; i++){
- if(array[i] == 0)
- return i;
- }
- return -1;
- }
- //---------------------------------------
- //1 : индекс последнего нулевого элемента.
- int index_last_zero(int array[], int size)
- {
- for(int i = size-1; i >= 0; i--){
- if(array[i] == 0)
- return i;
- }
- return -1;
- }
- //---------------------------------------
- //2 : Найти сумму модулей элементов массива, расположенных от первого нулевого элемента и до последнего.
- int sum_between(int array[], int size)
- {
- if(index_first_zero(array, size) == -1 || index_last_zero(array, size) == -1)
- return 0;
- int N = 0;
- for(int i = index_first_zero(array, size) ; i <= index_last_zero(array, size); i++)
- N += abs(array[i]);
- return N;
- }
- //---------------------------------------
- //3 : Найти сумму модулей элементов массива, расположенных до первого нулевого элемента и после последнего.
- int sum_before_and_after(int array[], int size)
- {
- if(index_first_zero(array, size) == -1 || index_last_zero(array, size) == -1)
- return 0;
- int N = 0;
- for(int i = 0; i <= index_first_zero(array, size); i++)
- N += abs(array[i]);
- for(int i = size-1; i >= index_last_zero(array, size); i--)
- N += abs(array[i]);
- return N;
- }
- //----------------------------------------
- int main()
- {
- int size = 10;
- int array[size];
- int num = -1;
- scanf("%d", &num);
- for(int i = 0; i < size; i++)
- scanf("%d", &array[i]);
- switch(num){
- case 0 :{
- printf("%d\n", index_first_zero(array, size));
- return 0;
- }
- case 1 :{
- printf("%d\n", index_last_zero(array, size));
- return 0;
- }
- case 2 :{
- printf("%d\n", sum_between(array, size));
- return 0;
- }
- case 3 :{
- printf("%d\n", sum_before_and_after(array, size));
- return 0;
- }
- default :
- printf("Данные некорректны\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement