Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Графическая схема алгоритма




 

Описание алгоритма

 

1. блоки 1 – 2 вводятся исходные данные;

2. блоки 3 – 9 вычисление и вывод количества K меньших заданного X;

3. блоки 10 – 18 вычисление количества K1 и произведения P отрицательных элементов массива стоящих на четных местах;

4. блоки 18 – 20 проверка на наличие в массиве отрицательных чисел на четных местах и в случаи выполнения проверки вывод их произведения P.

 

Листинг программы

#include <stdio.h>

#include <math.h>

main ()

{

float P, A[10], x; //Описание переменных

int i, k1, k, n;

puts (“ Введите число x”);

scanf (“%f”, &x); // Ввод x

puts (“ Введите число элементов массива А”);

scanf (“%d”, &n);

for (i=0; i<n; i++) // Ввод массива

{

printf(“Введите число A[%d]=”, i);

scanf(“%f”, &A[i]);

}

puts(“Массив А”); // Вывод массива

for (i=0; i<n; i++)

printf(“%.2f “, A[i]);

printf(“\n”);

printf(“ x=%.3f \n”, x); // Вывод x

k=0;

for (i=0; i<n; i++)

if (A[i]<x) k=k+1; // Определение кол-ва чисел <x

printf(“ k=%d\n”,k);

P=1;

k1=0;

for (i=1; i<n; i=i+2)

if (A[i]<0)

{ // Вычисление произведения

P=P*A[i]; // отрицательных чисел

k1=k1+1; // стоящих на четных местах

}

if (k1==0)

printf(“В массиве на чётных местах нет отрицательных чисел \n”);

else

printf(“ P=%6.2f \n”,P);

}

Тесты

1)

Массив А

3.00 6.00 10.00 -7.00 -3.00 -7.00 -5.00 17.00 6.00 10.00

x=10.000

k=7

P= 49.00

2)

Массив А

2.00 9.00 4.00 6.00 7.00 8.00

x=0.000

k=0

В массиве на чётных местах нет отрицательных чисел

 

Задача 2.

Вычисление сумм, количеств и произведений элементов массива

 

Предполагается, что задан массив чисел. Программа должна:

1) вводить размерность и элементы массива;

2) вводить некоторые дополнительные числа;

3) выполнять действия в соответствии с условием задачи;

4) выводить исходные данные и результаты вычислений.

Исходные данные для отладки программы выбрать самостоятельно. Массив объявить как динамический.

Задание:

В одномерном массиве A размерностью n, найти максимальный элемент, расположенный между первым и последним нулевыми элементами массива.

 

Решение

Таблица соответствия переменных

Переменные в задаче Имя на языке Си Тип Комментарий
max max int Максимальное число
A[] A[] int Одномерный динамический массив
n n int Количество элементов
t1 int Индекс первого нулевого элемента
t2 int Индекс последнего нулевого элемента
i int Номер элемента массива; параметр цикла

Описание алгоритма

1. блоки 1 – 2 ввод/вывод исходного массива A[];

2. блоки 3 – 5 поиск первого нулевого элемента в массиве;

3. блоки 6 – 7 проверка на наличие в массиве хотя бы одного нулевого элемента и в случаи их отсутствия вывод сообщения «В массиве нет нулей» и переход на конец алгоритма;

4. блоки 8 – 12 поиск последнего нулевого элемента в массиве и сохранение позиции первого нуля в t1, а последнего в t2;

5. блоки 13 – 14 проверка расположения нулевых элементов в массиве и в случаи ошибки вывод сообщения «В массиве только один ноль или они располагаются друг за другом»» и переход на конец алгоритма;

6. блоки 15 – 21 в случаи выполнения проверки (блок 13) поиск максимального элемента между крайними нулевыми элементами и вывод полученного результата.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных