Все четные элементы массива инвертировать умножением на -1 - C (СИ) (72254)
Формулировка задачи:
Помогите, пожалуйста, найти ошибки.
Задача А.
Ввести с клавиатуры количество элементов массива N, потом сами элементы массива – целые числа. Все четные элементы инвертировать умножением на -1. Вывести получившийся массив. Вот что получилось у меня. Задача А:#include <stdio.h>
#include <locale.h>
#include <conio.h>
int main (void) {
int A [10]; //*Максимальное количество элементов массива – 10
int n, x; //Количество элементов, которые мы будем вводить
scanf("%d", &n); //Вводим количество элементов
for (int i = 0; i < n; i = i + 1)
{
scanf("%d", &A [i]); //Вводим элемент массива A под номером i
}
for (int i = 0; i<10; i++) {
if (A[i]%2);
else {int x = A[i] * (-1);};
}
printf ("\n Получившийся массив = %d", x );
_getch();
return 0;
}Решение задачи: «Все четные элементы массива инвертировать умножением на -1»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <clocale>
int main()
{
setlocale(LC_ALL, "Rus");
int mas[10], n;
printf("Введите размер массива: ");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
printf("Введите %d массива: ",i+1);
scanf("%d",&mas[i]);
}
printf("Исходный массив:\n\n");
for(int i=0;i<n;i++)
printf("%d ",mas[i]);
for(int i=0;i<n;i++)
{
if(mas[i]%2==0)
mas[i]*=-1;
}
printf("\nПолученный массив:\n\n");
for(int i=0;i<n;i++)
printf("%d ",mas[i]);
getch();
}
Объяснение кода листинга программы
В этом коде:
- Скачивают библиотеки, которые позволяют программе взаимодействовать с консолью и вводить/выводить данные.
- Устанавливают локаль на русскую, чтобы корректно работать с русскими символами.
- Создают массив целых чисел типа int размером 10.
- Запрашивают у пользователя размер массива.
- Считывают в массив значения, введенные пользователем.
- Выводят исходный массив на экран.
- Проверяют каждый элемент массива на четность: если число четное, то оно инвертируется (умножается на -1).
- Выводят измененный массив на экран.