Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<math.h>
- #include<stdio.h>
- #define THESIZE 100
- #define CODE_ASCII 48
- // Первая подзадача
- int first(int arr1[], int number) {
- for (int i = 0; i < number; i++) {
- if (arr1[i] < 0) return i;
- }
- return -1;
- }
- // Вторая подзадача
- int second(int arr1[], int number) {
- int last_negative = -1;
- for (int i = 0; i < number; i++) {
- if (arr1[i] < 0) last_negative = i;
- }
- return last_negative;
- }
- // Третья подзадача
- int third(int arr1[], int number) {
- int rigth, left, K = 0;
- rigth = first(arr1, number);
- left = second(arr1, number);
- if (rigth != -1 && left != -1)
- for (int i = rigth; i < left; i++) K += fabs(arr1[i]);
- else
- return -1;
- return K;
- }
- // Четвёртая подзадача
- int fourth(int arr1[], int number) {
- int rigth, left, G = 0;
- rigth = first(arr1, number);
- left = second(arr1, number);
- if (rigth != -1 && left != -1) {
- for (int i = 0; i < rigth; i++) G += fabs(arr1[i]);
- for (int i = left; i < number; i++) G += fabs(arr1[i]);
- } else
- return -1;
- return G;
- }
- // Главная ф-я
- int main() {
- int arr[THESIZE], el = 0, num = 0;
- char g, h;
- for (int i = 0; i < THESIZE; i++) {
- arr[i] = 1;
- }
- h = getchar();
- g = getchar();
- while (g != '\n') {
- g = getchar();
- if (g == '\n') {
- arr[num] *= el;
- num++;
- break;
- }
- if (g == ' ') {
- arr[num] *= el;
- num++;
- el = 0;
- }
- if (g == '-') arr[num] = -1;
- if (g != ' ' && g != '-') {
- el = el * 10 + (g - CODE_ASCII);
- }
- }
- if (h == '0') {
- if (first(arr, num) == -1)
- printf("Данные некорректны\n");
- else
- printf("%d\n", first(arr, num));
- }
- if (h == '1') {
- if (second(arr, num) == -1)
- printf("Данные некорректны\n");
- else
- printf("%d\n", second(arr, num));
- }
- if (h == '2') {
- if (third(arr, num) == -1)
- printf("Данные некорректны\n");
- else
- printf("%d\n", third(arr, num));
- }
- if (h == '3') {
- if (fourth(arr, num) == -1)
- printf("Данные некорректны\n");
- else
- printf("%d\n", fourth(arr, num));
- }
- if (h != '0' && h != '1' && h != '2' && h != '3')
- printf("Данные некорректны\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement