Если у вектора хотя бы один компонент меньше, чем -2, то все отрицательные компоненты заменить их квадратами - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дан вектор A(n). Если у вектора A=(a1, a2,...,an) хотя бы один компонент меньше, чем -2, то все отрицательные компоненты заменить их квадратами, оставив все остальные без изменения. В противном случае вектор A умножить на 0.1. не могу умножить вектор на 0,1. Или умножает все положительные на 0,1, а отрицательный заменяет квадратами или вообще всё умножает на 0,1. Вот мои наработки
# include <stdio.h>
# include <conio.h>
# include <math.h>
void main(void)
{ clrscr();
float a[10]; float  i,n,s;
printf ("vvedite razmernost massiva");
scanf("%f",&n);
printf("vvedite elementu massiva:");
  for (i=0; i<n; i++)
  {
    scanf("%f",&a[i]);}
 
  for (i=0; i<n; i++)
  {
    if (a[i]<=-2)
    {

      a[i]=a[i]*a[i];
     
    }
 
  }
 
   for (i=0;i<n;i++)
  { printf("%f ", a[i]);}

getch(); }

Решение задачи: «Если у вектора хотя бы один компонент меньше, чем -2, то все отрицательные компоненты заменить их квадратами»

textual
Листинг программы
# include <stdio.h>
# include <conio.h>
 
int main(){
 
    float a[10]; 
    float n,s;
 
    int i;
 
    bool x = false;
 
    printf ("vvedite razmernost massiva: ");
    scanf("%f",&n);
    printf("vvedite elementu massiva: ");
 
    for (i=0; i<n; i++){
        scanf("%f",&a[i]);
        if(a[i] <= -2){
            a[i] *= a[i];
            x = true;
        }
    }
 
    if(x == true){
        for (i=0;i<n;i++)
            printf("%f ", a[i]);
    }
    else{
        for (i=0;i<n;i++)
            printf("%f ", a[i] * 0.1);
    }
 
 
    getch(); 
 
}

Объяснение кода листинга программы

В этом коде:

  1. Объявлены переменные:
    • a - массив из 10 элементов типа float, который будет содержать числа;
    • n - переменная типа int, которая будет содержать количество элементов в массиве;
    • s - переменная типа float, которая будет использоваться для хранения промежуточных результатов.
  2. Задается вопрос пользователю о вводе размера массива.
  3. Введенный размер массива сохраняется в переменной n.
  4. Пользователю предлагается ввести элементы массива.
  5. В цикле for происходит:
    • Считывание элемента массива с помощью функции scanf().
    • Проверка на то, что элемент меньше или равен -2.
    • Если условие выполняется, то элемент умножается на себя и переменная x меняется на true.
  6. После завершения цикла проверяется значение переменной x.
  7. Если x равно true, то выводятся все элементы массива.
  8. Если x равно false, то выводятся элементы массива, умноженные на 0.1.
  9. Код завершается с помощью функции getch(), которая ожидает нажатия клавиши.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы