Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
part1.doc
Скачиваний:
2
Добавлен:
14.04.2019
Размер:
337.41 Кб
Скачать

3. Примеры программных реализаций

Пример 1. Дан массив целых чисел. Определить индекс минимального элемента. Вычислить сумму тех элементов массива, индексами которых являются простые числа.

#include<stdio.h>

#include<conio.h>

#include<math.h>

void main()

{

int a[20],d,i,min,n,sum=0;

clrscr();

printf("Введи размер: ");

scanf("%d", &n);

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

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

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

// Поиск индекса минимального элемента

min = 0;

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

if (a[i] < a[min]) min = i;

printf("Мин.индекс=%d", min);

//Накапливаем сумму элементов

if (2< (n-1)) sum += a[2];

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

{

//Индекс – это простое число? for(d=3;d<=(int)sqrt(i);d+=2)

if ((i%d) == 0) break;

if(d>(int)sqrt(i))sum+=a[i];

}

printf("\n Сумма = %d", sum);

}

Пример 2. Напечатать заданную строку символов, удалив из неё повторные вхождения каждого символа.

#include<stdio.h>

#include<conio.h>

void main()

{

char s[80];

int i,j,k;

clrscr();

puts("Введи строку");

gets(s);

for (i=0; s[i]!='\0'; i++)

{j=i+1;

while(s[j]!='\0')

{

if(s[i]==s[j])

{for (k=j; s[k]!='\0'; k++)

s[k] = s[k+1];

s[k]='\0';

}

else j++;

}

}

puts("Результат:");

puts(s);

}

Пример 3. Введенное натуральное число записать в виде строки.

#include<stdio.h>

#include<conio.h>

#include<string.h>

void main()

{

char s[40];

int i=0;

long int number;

clrscr();

printf("\n Enter : ");

scanf("%ld", &number);

while(number!=0)

{

s[i]='0'+(number%10);

number/=10;

i++;

} s[i]='\0';

strrev(s);

puts(s);

}

4. Варианты заданий

  1. Написать программу нахождения наибольшего общего делителя для элементов массива целых чисел.

  2. Дан массив целых чисел. Найти сумму элементов массива, которые находятся между максимальным и минимальным числами. В сумму включить и оба этих числа.

  3. Дан массив целых чисел. Определить, образуют ли они возрастающую последовательность.

  4. Дан массив целых чисел. Определить количество инверсий в нем (т.е. таких пар элементов, в которых большее число находится слева от меньшего числа: y i > y j при i < j).

  5. Даны массивы целых чисел Х и А, вычислить S- сумму тех элементов массива X, индексы которых совпадают со значениями элементов массива A.

  6. Преобразовать массив целых чисел Х по следующему правилу:

а) все отрицательные элементы массива Х перенести в его начало, а все остальные в конец, сохраняя исходное расположение, как среди отрицательных, так и среди остальных элементов;

б) элементы массива Х циклически сдвинуть на k позиций влево.

  1. Элементы каждого из массивов Х и У упорядочены по неубыванию. Объединить элементы этих двух массивов в один массив Z так, чтобы они снова оказались упорядоченными по неубыванию.

  2. Даны две последовательности целых чисел. Найти наименьшее среди тех чисел первой последовательности, которые не входят во вторую (считая, что хотя бы одно такое число есть).

  3. Определить k - количество различных элементов массива С (т.е. повторяющиеся элементы считать один раз).

  4. Вводится целое число n от 2 до 1000. Используя метод «решета Эратосфена», напечатать в убывающем порядке все простые числа из диапазона n …2*n. Суть этого метода: выписываются все целые числа большие 1. Выбирается первое из них (это 2, простое число) и вычеркиваются все кратные ему числа, кроме него самого; затем берется следующее из не вычеркнутых чисел (это 3, также простое число) и вычеркиваются все кратные ему числа, опять же кроме него самого; и так далее. В конце концов, останутся только простые числа, начиная с 2.

  5. Написать программу перевода чисел из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную.

  6. Написать программу перевода чисел из арабской записи в римскую запись: I – 1, V – 5, X – 10, L – 50, C – 100, D – 500, M – 1000.

  7. Написать программу перевода чисел из римской записи в арабскую.

  8. Напечатать таблицы сложения и умножения в шестнадцатеричной системе счисления.

  9. Напечатать таблицы сложения и умножения в восьмеричной системе счисления.

  10. Напечатать на экране сложение и умножение «столбиком» двух чисел заданных в шестнадцатеричной системе счисления.

  11. Напечатать на экране сложение и умножение «столбиком» двух чисел заданных в восьмеричной системе счисления.

  12. Сложить два числа, записанные в римской системе счисления.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]