Проверьте пожалуйста код препод сказал, что не верен - C (СИ)
Формулировка задачи:
#include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include <math.h> #include <locale.h> #define B 5 int main() { setlocale(LC_CTYPE, "Russian"); int A[B]; int i,j,a,b; int max; int maxIn = 0; int sum=0; int count = 0;//переменная счетчика int x, y; int temp; printf("Введем элементы массива\n"); for (int i = 0; i<5; i++) { printf("[%i]=", i); scanf("%i", &A[i]); } printf("Укажите интервал\n"); printf("a="); scanf("%i", &x); printf("b="); scanf("%i", &y); a=A[x],b=A[y];//отрезок a,b for (i = 0; i<B; i++) { if (A[i] < a || A[i] > b) count++;//сам подсчет } printf("Kоличество элементов вне интервала: %i\n", count); max = A[0]; for ( i = 0; i<B; i++) { if (max <= A[i]){ max = A[i]; maxIn = i; } } printf("Максимальный элемент: max=A[%i]=%i\n",maxIn, A[maxIn]); { for (i = maxIn + 1; i < B; i++) { sum += A[i]; } printf("sum=%i\n", sum); } for (i = 0; i < B - 1; i++) { for (j = 0; j < B - 1; j++) if (A[j] < A[j + 1]) { temp = A[j + 1]; A[j + 1] = A[j]; A[j] = temp; } } for (i = 0; i<B; i++) { printf("%i ", A[i]); } return 0; }
выручайте а-то повесят
особенно то когда задается интервал я задаю числа а необходимо индексы элементов где лежат числа
Решение задачи: «Проверьте пожалуйста код препод сказал, что не верен»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <locale.h> #define B 5 int main() { setlocale(LC_CTYPE, "Russian"); int A[B]; int i,j,a,b; int max; int maxIn = 0; int sum=0; int count = 0;//переменная счетчика int x, y; int temp; printf("Введем элементы массива\n"); for (int i = 0; i < B; i++) { printf("[%d]=", i); scanf("%d", &A[i]); } printf("Укажите интервал\n"); printf("a="); scanf("%i", &x); printf("b="); scanf("%i", &y); a=A[x],b=A[y];//отрезок a,b for (i = 0; i<B; i++) { if (A[i] < a || A[i] > b) count++;//сам подсчет } printf("Kоличество элементов вне интервала: %d\n", count); max = abs(A[0]); for ( i = 0; i<B; i++) { if (max <= abs(A[i])){ max = abs(A[i]); maxIn = i; } } printf("Максимальный элемент: max=A[%d]=%d\n",maxIn, abs(A[maxIn])); { for (i = maxIn + 1; i < B; i++) sum += A[i]; printf("sum=%d\n", sum); } for (i = 0; i < B ; i++) { for (j = i+1; j < B ; j++) if (abs(A[i]) < abs(A[j])) { temp = A[j]; A[j] = A[i]; A[i] = temp; } } for (i = 0; i<B; i++) printf("%i ", A[i]); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем массив A размером B и инициализируем его нулями
- Объявляем переменные i, j, a, b, max, maxIn, sum, count, x, y, temp
- Выводим сообщение и призыв к вводу элементов массива
- Считываем элементы массива с помощью функции scanf
- Задаем интервал с помощью функции scanf
- Определяем отрезок a и b как элементы массива A, соответствующие индексам x и y
- Подсчитываем количество элементов вне интервала с помощью цикла и функции scanf
- Находим максимальный элемент массива A с помощью цикла и функции scanf
- Выводим максимальный элемент массива A и его индекс
- Находим сумму элементов массива A, начиная с элемента, следующего за максимальным, с помощью цикла и функции scanf
- Проводим сортировку массива A методом пузырька
- Выводим отсортированный массив A с помощью цикла и функции scanf
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д