В массиве A[m] каждый второй элемент заменить произведением двух предыдущих - C (СИ)
Формулировка задачи:
Помогите разобраться что я делаю не так. Я пока не делаю запись массива в файл, разбираюсь как сделать само задание.
Задание: В массиве A[m] каждый второй элемент заменить произведением двух предыдущих. Дополнительный массив не использовать. Вывести на экран и в файл исходный массив А, полученный массив А.
#include "stdafx.h" #include<iostream> #include <conio.h> using namespace std; const int m=9; int func (int arr[m]) { for(int i=3; i<m; i+2) arr[i]=(arr[i-2]*arr[i-1]); return 0; }; int main() { setlocale (LC_ALL, "Russian"); int A[m]; printf("Введите массив из %d целых чисел: \n", m+1); for(int i=0; i<m; i++) scanf("%d ",&A[i]); printf("\n Исходный массив: "); for (int i=0;i<m;i++) printf("%d ",A[i]); printf("\n Полученный массив: "); func(A); for(int i=0;i<m; i++) printf("%d ",A[i]); getch(); return 0; }
Решение задачи: «В массиве A[m] каждый второй элемент заменить произведением двух предыдущих»
textual
Листинг программы
/*В массиве A[m] каждый второй элемент заменить произведением двух предыдущих. Дополнительный массив не использовать. Вывести на экран и в файл исходный массив А, полученный массив А. */ #include "stdafx.h" #include<iostream> #include <conio.h> using namespace std; const int m=9; void func (int arr[m]) { for(int i=3; i<m; i=i+2) arr[i]=(arr[i-2]*arr[i-1]); } void main() { setlocale (LC_ALL, "Russian"); int A[m]; FILE*file; printf("Введите массив из %d целых чисел: \n", m+1); for(int i=0; i<m; i++) scanf("%d ",&A[i]); printf("\n Исходный массив: "); for(int i=0; i<m; i++) printf("%d, ",A[i]); file=fopen("text.txt","w"); fprintf(file,"Исходный массив: "); for (int i=0;i<m;i++) fprintf(file,"%d, ",A[i]); fprintf(file,"\n"); fclose(file); printf("\n Полученный массив: "); func(A); for(int i=0; i<m; i++) printf("%d, ",A[i]); file=fopen("text.txt","a"); fprintf(file,"Полученный массив: "); for(int i=0;i<m;i++) fprintf(file,"%d, ",A[i]); fclose(file); getch(); }
Объяснение кода листинга программы
- В функции
main
объявляется массивA
размеромm=9
. - Пользователю предлагается ввести массив
A
с помощью функцииscanf
. - С помощью функции
printf
выводится исходный массивA
на экран. - Файл
text.txt
открывается в режиме записи с помощью функцииfopen
. - С помощью функции
fprintf
в файлtext.txt
записывается исходный массивA
. - В функции
func
происходит замена каждого второго элемента массиваA
произведением двух предыдущих с помощью циклаfor
. - В функции
main
после вызова функцииfunc
выводится полученный массивA
на экран. - Файл
text.txt
открывается в режиме добавления с помощью функцииfopen
. - С помощью функции
fprintf
в файлtext.txt
записывается полученный массивA
. - Функция
getch
используется для приостановки выполнения программы до нажатия клавиши. - В конце программы не забываем закрыть файл с помощью функции
fclose
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д