Найти последнее неотрицательное число в массиве и разделить на него положительные числа массива - C (СИ)

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

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

В результате не выдает результат деления. Дан одномерный массив чисел {Ai}, i =1...14. Найти последнее неотрицательное число в массиве и разделить на него положительные числа массива.
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    int a[14], i, sum, k, n;
float d;

        for(i=1;i<=14;i++){
            a[i]=rand()%20-10;
        printf("%4d", a[i]);
        }
        
        sum=1;
        for(i=0;i<=14;i++){
    if(a[i]>0)   
sum=sum+a[i];
    if(a[i]<0){
n=i;
k=a[i]; 
}
        }
d=k/sum;
printf("\n%d \n%.2f\n", k, d);
        
        getch();
    
    return 0;
}

Решение задачи: «Найти последнее неотрицательное число в массиве и разделить на него положительные числа массива»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
 
#define n 14
int main(){
setlocale(LC_ALL, "rus");
srand(time(0));
 
float array_a[n];
int i;
float last;
 
printf("Массив:\n");
for(i = 0; i < n; i++){
    array_a[i]= rand()%20 - 10;
    printf("%.2f ", array_a[i]);
}
 
for(i = n - 1; i >= 0; i--){
    if(array_a[i] > 0){
        last = array_a[i];
        break;
    }
}
printf("\nПоследнее положительное: %f\n", last);
printf("\nИтог:\n");
for(i = 0; i < n; i++){
    if(array_a[i] > 0){
    array_a[i] = array_a[i] / last;
    }
    printf("%.2f ", array_a[i]);
}
printf("\n");
 
return 0;
}

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

  1. Подключение необходимых библиотек для работы с языком программирования C
  2. Определение размера массива n
  3. Инициализация генератора случайных чисел
  4. Создание массива array_a с помощью оператора malloc
  5. Заполнение массива случайными числами с помощью функции rand()
  6. Вывод массива на экран с помощью цикла for и функции printf
  7. Поиск последнего неотрицательного числа в массиве с помощью цикла for и условия if
  8. Сохранение найденного числа в переменной last
  9. Вывод найденного числа на экран с помощью функции printf
  10. Разделение положительных чисел массива на последнее неотрицательное число с помощью цикла for и оператора /
  11. Вывод полученного результата на экран с помощью функции printf
  12. Освобождение памяти, выделенной под массив, с помощью функции free

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


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

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

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