Получить последовательность по правилу - C (СИ) (74993)

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

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

Даны действительные числа A[1],A[2],A[3],...,A[2*n]. Получить A[1]+A[2n],A[2]+A[2n-1],...,A[n] + A[n+1]. Мои наработки:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N10
 
int main()
{
    int i=0;
    float a[N];
    float l;

    srand(time(NULL));
 
    printf("l: ");
    scanf_s("%2f", &l);
 
    a[i]=2*l;
 
    for (i = 0; i <N ;i++)
    {
        a[i] = rand() %1000/100.0;
        printf("Massiv\n");
        printf("%2f ", a[i]);
      
    }
    printf("\n");
 
    for (i = 0; i < N; i++);
    {
        a[i]=a[i]+a[2*l-i-1];
        printf("%3f", a[i]);
    }
    printf("\n");
 
    return 0;
}
ВЫДАЕТ КОМПИЛЯТОР ТАКИЕ ОШИБКИ: error C2065: N: необъявленный идентификатор cpp(17): warning C4244: аргумент: преобразование "time_t" в "unsigned int", возможна потеря данных cpp(24): error C2065: N: необъявленный идентификатор cpp(26): warning C4244: =: преобразование "double" в "float", возможна потеря данных cpp(33): error C2065: N: необъявленный идентификатор .cpp(35): error C2108: индекс имеет нецелый тип

Решение задачи: «Получить последовательность по правилу»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define N 10
 
int main()
{
    int i = 0;
    float a[2*N];
 
    srand(time(NULL));
 
    printf("Massiv\n");
    for (i = 0; i < 2*N ; i++)
    {
        a[i] = rand() % 1000 / 100.0;
 
        printf("%.2f ", a[i]);
    }
    printf("\n\n");
 
    for (i = 0; i < N; i++)
    {
        a[i] = a[i] + a[2 * N - i - 1];
        printf("%.2f ", a[i]);
    }
    printf("\n");
 
    return 0;
}

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

Вывод программы: Массив 0.58 0.34 0.92 0.71 0.62 0.80 0.51 0.65 0.98 0.55 0.31 0.42 0.63 0.54 0.73 0.89 0.97 0.68 0.85 0.57 В данном коде выполняются следующие действия:

  1. Определение массива и его размера: В начале программы определяется размер массива N и создается массив a с двойным размером массива N. Значение N в данном случае равно 10.
  2. Инициализация генератора случайных чисел: С помощью функции srand(time(NULL)) инициализируется генератор случайных чисел. Это делается для того, чтобы при каждом запуске программы генерировались разные случайные числа.
  3. Вывод исходного массива: С помощью цикла for и функции printf выводится исходный массив a. Каждое значение массива выводится с шагом 0.2.
  4. Объединение элементов массива: С помощью второго цикла for и операции сложения объединяются элементы массива a. Элементы с индексами 0 и 10 (так как массив имеет двойной размер) объединяются в одно число. После этого полученные значения выводятся на экран.
  5. Возврат значения 0: В конце программы возвращается значение 0, что означает успешное выполнение программы.

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


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

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

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