В массиве вставить новый элемент со значением P вслед за наибольшим из отрицательных - C (СИ)
Формулировка задачи:
Задача:
В массиве A=(a1,a2,....an) вставить новый элемент со значением P вслед за наибольшим из отрицательных элементов этого массива. Нужно решить с помощью указателей. Подскажите что поменять в данном коде, правильно ли я "копаю"?#include <stdio.h> #include <math.h> void firstfunction(int Size,int *Array) { printf("vvedite values of massiv"); for(int i=0; i<Size; i++) { scanf("%d", &Array[i]); } for (int i=0; i<Size; i++) { if (Array[i]<0) { int *Y=&Array[i]; break; } } for (int i=0; i<Size; i++) { if ((Array[i]<0) && (int *Y<Array[i])) { int Y=Array[i]; int u=i; } } } int main() { int lol,i,P,u,*L,*Y,B,m; printf("vvedite razmer massiva"); scanf("%d", &m); /*Ввод кол-ва элементов массива*/ const int N=m; int A[N]; printf("vvedite P\n"); scanf("%d", &P); /*Ввод элемента Р, будет подставляться после наибольшего отрицательного*/ firstfunction(N,A); /*Вызов функции*/ for (i=0; i<=u; i++) /* вывод элементов */ { printf("%d",A[i]);} printf("%d", P); for (i=u+1; i<N; i++) { printf("%d", A[i]);} return 0; }
Решение задачи: «В массиве вставить новый элемент со значением P вслед за наибольшим из отрицательных»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <conio.h> int firstfunction(int Size, int *Array) { int i,u; int* Y; Y=Array; for (i=1; i<Size; i++) { if ((Array[i]<0) && (*Y<Array[i])) { Y=&Array[i]; u=i; } } return u; } int main() { int lol,i,P,u,*L,*Y,B,m; int* A; printf("vvedite razmer massiva\n"); scanf("%d", &m); /*Ââîä êîë-ГўГ* ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ**/ A=(int*)malloc(m*sizeof(int)); printf("vvedite values of massiv\n"); for(i=0; i<m; i++) { scanf("%d", &A[i]); } printf("vvedite P\n"); scanf("%d", &P); /*Ââîä ýëåìåГ*ГІГ* Гђ, áóäåò ïîäñòГ*âëÿòüñÿ ïîñëå Г*Г*èáîëüøåãî îòðèöГ*òåëüГ*îãî*/ u=firstfunction(m,A); /*Âûçîâ ГґГіГ*êöèè*/ printf("%d\n",u); for (i=0; i<=u; i++) // âûâîä ýëåìåГ*òîâ { printf("%d",A[i]); } printf("%d",P); for (i=u+1; i<m; i++) // âûâîä ýëåìåГ*òîâ { printf("%d",A[i]); } getch(); return 0; }
Объяснение кода листинга программы
Код выполняет следующие действия:
- Сначала пользователю предлагается ввести размер массива.
- Затем массив инициализируется значениями, введенными пользователем.
- После этого пользователю предлагается ввести значение P.
- Функция firstfunction() находит индекс последнего отрицательного элемента в массиве.
- Затем в массив вставляется новый элемент со значением P вслед за найденным отрицательным элементом.
- Выводится на экран новый массив с вставленным элементом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д