Даны натуральные числа N и массив A(N). Продублировать все вхождения положительных элементов - C (СИ)
Формулировка задачи:
Всем доброе утро! Помогите, пожалуйста, найти ошибки в работе. Сам я пока не опытный в этом деле, нужно чтобы программа просто продублировала все положительные элементы. А я тут что-то накосячил
#include <stdio.h> #include <math.h> int PrMs (int*x, int N){ int i; printf("Полученный массив\n"); for (i=0; i<N; i++) printf("%d",*(x+i)); } int VvodMs (int *x){ int N; do{ printf("Введите количество элементов N<30\n"); scanf("%d", &N); }while (N<=0 || N>30); printf("Введите элементы чисел\n"); int i,j; for (i=0; i<N; i++) scanf("%d",(x+N)); return N; } void ChMs (int *x, int N) {int i, j; N=0; while (i<N) { if (x+N>0) { N++; for (j=N-1; j>i; j--) *(x+j)=*(x+j-1); i++; } i++ } return N; } int main() { int N, A[30] N=VvodMs (A); PrMs (A,N); ChMs (A,N); PrMs (A,N); }
Решение задачи: «Даны натуральные числа N и массив A(N). Продублировать все вхождения положительных элементов»
textual
Листинг программы
using namespace std; int PrMs(int* x, int N){ int i; printf("Poluchennyi massiv:\n"); for(i = 0; i < N; i++) printf("%d\n", x[i]); } int VvodMs(int *x){ int N; do{ printf("Vvedite kolichestvo elementov N<30\n"); scanf("%d", &N); }while(N <= 0 || N > 30); printf("Vvedite elementi chisel:\n"); int i,j; for(i = 0; i < N; i++) scanf("%d", (x+i)); return N; } void ChMs(int *x, int N) { int i, j; i=0; while(i<N) { if(*(x+i)>0) { for(j=N-1; j>i; j--) *(x+j)=*(x+j-1); } i++; } //return N; } int main(int argc, char* argv[]) { int z, n; /*char str[5] = {5, 6, 3, 7, 2}; cout << "Input number:\n"; cin >> z; for(n = 0; n <= z; n++) { cout << n << "\n"; }*/ /*for(z = 0; z < 5; z++) printf("%d ", str[z]);*/ //main int N, A[30]; N=VvodMs(A); PrMs(A,N); ChMs(A,N); PrMs(A,N); getch(); return 0; }
Объяснение кода листинга программы
- Ввод количества элементов массива и самого массива с помощью функции
VvodMs()
. - Вывод исходного массива с помощью функции
PrMs()
. - Дублирование положительных элементов массива с помощью функции
ChMs()
. - Вывод измененного массива с помощью функции
PrMs()
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д