Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_Практ_new1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
225.79 Кб
Скачать

Определение свойства числовой последовательности

Пример 1

Дано целое число N (> 1) и набор из N вещественных чисел. Проверить, образует ли данный набор геометрическую прогрессию. Если образует, то вывести True, если нет  вывести False.

Вариант программы на языке С

#include <stdio.h>

int main()

{

int n = 0, flag = 1, i;

float a = 0, b = 0, d;

printf("Введите n: ");

scanf("%d", &n);

printf("Вводите числа: ");

scanf("%f%f", &a, &b);

d = b / a;

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

{

scanf("%f", &a);

if(a / b != d)

flag = 0;

b = a;

}

if(flag)

printf("True\n");

else

printf("False\n");

return 0;

}

Пример 2

Дано целое число N (> 1) и набор из N вещественных чисел. Проверить, образует ли данный набор невозрастающую последовательность. Если образует, то вывести True, если нет – вывести False.

Вариант программы на языке С++

#include <locale>

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_ALL, "");

int n;

cout << "Введите n: ";

cin >> n;

float a, b;

cout << "Вводите числа: ";

cin >> b;

int k = 0;

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

{

cin >> a;

if(a > b) k++;

b = a;

}

if(k=0) cout << "True" << endl;

else cout << "False" << endl;

return 0;

}

Задания для самостоятельного решения

  1. Дано целое число N и набор из N целых чисел. Если в наборе нет четных чисел, то вывести True; в противном случае вывести False.

  2. Дано целое число N и набор из N целых чисел. Если в наборе все числа одинаковые, то вывести True; в противном случае вывести False.

  3. Даны целые числа K, N и набор из N целых чисел. Если в наборе имеются числа, кратные K, то вывести True; в противном случае вывести False.

  4. Даны целые числа K, N и набор из N целых чисел. Если в наборе имеются числа, меньшие K, то вывести True; в противном случае вывести False.

  5. Дано целое число N (> 1) и набор из N вещественных чисел. Проверить, образует ли данный набор возрастающую последовательность. Если образует, то вывести True, если нет — вывести False.

  6. Дано целое число N (> 2) и набор из N вещественных чисел. Набор называется пилообразным, если каждый его внутренний элемент либо больше, либо меньше обоих своих соседей (то есть является «зубцом»). Если данный набор является пилообразным, то вывести 0; в противном случае вывести номер первого элемента, не являющегося зубцом

  7. Дано целое число N и набор из N целых чисел. Если в наборе имеются четные числа, то вывести True; в противном случае вывести False

  8. Дано целое число N (> 1) и набор из N вещественных чисел. Проверить, имеются ли в данном наборе подряд стоящие одинаковые числа. Если имеются, то вывести True, если нет  вывести False.

  9. Дано целое число N (> 1) и набор из N вещественных чисел. Проверить, образует ли данный набор арифметическую прогрессию. Если образует, то вывести True, если нет — вывести False.

  10. Дано целое число N (> 1) и набор из N вещественных чисел. Если в данном наборе нет трехзначных чисел, то вывести 0; в противном случае вывести номер первого трехзначного числа.

Лабораторная работа №3

«Одномерные массивы»

Цель: изучение способов определения и инициализации массивов,

основных алгоритмов обработки массивов.

Вывод элементов массива

Пример

Дан массив A размера 2*N. Вывести его элементы в следующем порядке: A0, AN, A1, AN+1, …, A2N-2, A2N–1

Вариант программы на языке С

#include <stdio.h>

#include <locale.h>

#define N 5

int main()

{

setlocale(LC_ALL, "");

int a[2*N], i;

printf("Введите элементы массива: ");

for(i = 0; i < 2*N; i++)

scanf("%d", &a[i]);

printf("Результат:\n");

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

printf("%d %d ", a[i], a[N + i]);

printf("\n");

return 0;

}

Вариант программы на языке С++

#include <iostream>

#include <locale>

using namespace std;

int main()

{

setlocale(LC_ALL, "");

const int n = 5;

int a[2*n];

cout << "Введите элементы массива: ";

for(int i = 0; i < 2*n; i++)

cin >> a[i];

cout << "Результат:" << endl;

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

cout << a[i] <<" " << a[n + i] << " ";

cout << endl;

return 0;

}

Задания для самостоятельного решения

  1. Дан массив A размера N. Вывести его элементы в следующем порядке: A0, A1, AN-1, AN–2, A2, A3, AN–3, AN–4, … .

  2. Дан массив A размера N. Вывести вначале его элементы с четными номерами (в порядке возрастания номеров), а затем – элементы с нечетными номерами (также в порядке возрастания номеров). Условный оператор не использовать

  3. Дан массив A размера N (N — нечетное число). Вывести его элементы с нечетными номерами в порядке убывания номеров. Условный оператор не использовать

  4. Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем – все нечетные числа в порядке убывания их индексов

  5. Дан массив A размера N. Вывести его элементы в следующем порядке: A0, AN-1, A1, AN–2, A2, AN–3,,…

  6. Дан массив размера N. Вывести его элементы в обратном порядке.

  7. Дан массив A размера N и целое число K (1≤ K ≤ N). Вывести элементы массива с порядковыми номерами, кратными K. Условный оператор не использовать

  8. Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания их индексов, а также их количество.

  9. Дан массив A размера 2*N. Вывести его элементы в следующем порядке: A0, A1 ,…,AN-1, A2N–1, A2N-2,…, AN.

  10. Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве четные числа в порядке убывания их индексов, а также их количество