Ввести размерность массива и проконтролировать её и данные на корректность - C (СИ)

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

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

Нужно ввести размерность массива и проконтролировать её и данные на корректность...
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
void main(void)
{
    float mas[50] = {0};
    float summ = 0;
    printf("Vvedite chislo:\n");
    for( int i = 0; i < 50; i++ )
    {
        scanf("%f",&mas[i]) 
        
    }
 
    printf("=============================\n");
 
    for( int i = 0; i < 50; i++ )
    {
        int integerValue = (int)mas[i]; 
        float drobValue = mas[i] - integerValue; 
        float drobAbs = fabsf( drobValue ); 
 
        if( drobValue == 0 )
        {
            printf( "Integer element: %f\n", mas[i] ); 
        }
 
        summ+ = drobAbs;
    }
 
    printf("=============================\n");
    printf( "Drob summ = %f", summ );
 
    getch();
}
Поправлю вопрос: мне нужно реализовать возможность выбора размерности массива с клавиатуры. Например, у меня линейный массив на 50 элементов, а мне нужно из этих 50 выбрать всего, ну например, 5 элементов

Решение задачи: «Ввести размерность массива и проконтролировать её и данные на корректность»

textual
Листинг программы
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
void main(void)
{
    int n;
    scanf("%d",&n);
    if (n<50) {
      float mas[[B]50[/B]] = {0},summ = 0;
 
      printf("Vvedite chislo:\n");
      for( int i = 0; i < n; i++ )
      {
          scanf("%f",&mas[i]) 
        
      }
 
      printf("=============================\n");
 
      for( int i = 0; i < n; i++ )
      {
          int integerValue = (int)mas[i]; 
          float drobValue = mas[i] - integerValue; 
          float drobAbs = fabsf( drobValue ); 
 
          if( drobValue == 0 )
          {
              printf( "Integer element: %f\n", mas[i] ); 
          }
 
          summ+ = drobAbs;
      }
 
      printf("=============================\n");
      printf( "Drob summ = %f", summ );
 
      getch();
   }
}

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

Вывод:

  1. Ввод размера массива n с помощью scanf(%d,&n);
  2. Проверка корректности ввода размера массива. Если n меньше 50, то программа переходит к следующему шагу, иначе выводит сообщение об ошибке.
  3. Создание одномерного массива mas с помощью оператора [] и заполнение его нулями. Размер массива не указан, он определяется переменной n.
  4. Ввод элементов массива с помощью цикла for и функции scanf(%f,&mas[i]).
  5. Вывод всех элементов массива с помощью цикла for и функции printf(Integer element: %f\n, mas[i]).
  6. Вычисление абсолютного значения каждого нецелого элемента массива с помощью функции fabsf( drobValue ).
  7. Суммирование абсолютных значений нецелых элементов массива с помощью переменной summ.
  8. Вывод суммы нецелых элементов массива с помощью функции printf(Drob summ = %f, summ).
  9. Получение ввода с помощью getch().

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


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

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

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