Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Пример 6. //Программа записывает натуральное положительное

Читайте также:
  1. IV. Практические наставления. Сила и значение веры, ветхозаветные примеры веры. (10.19-13.25).
  2. V. ПРИМЕРЫ ВЫПОЛНЕНИЯ ЗАДАНИЙ
  3. А) Примеры веры древних, до потопа (11,4-7)
  4. Автономные системы примеры /экодома
  5. Аддитивное и субтрактивное смешение цветов, примеры использования.
  6. Анализ данного примера
  7. Б) Примеры веры Авраама и Сарры (11,8-19)

 

//Программа записывает натуральное положительное

// число в обратном порядке

 

#include <stdio.h> //директивы препроцессора

#include <conio.h>

 

void main(void)

{

int s[11]; // резервирование памяти под массив длиной 11 элементов

 

unsigned long chislo; // выделение памяти под вводимое число

int i=0,j,ost;

clrscr();

 

puts("\nBведите целое число с количеством цифр не более 10");

puts("Значение числа не должно превышать величины 4 294 967 295");

scanf("%lu",&chislo); //ввод числа в диалоговом режиме

 

do

{ //вычисление одной цифры числа как остатка от

ost=chislo%10; //деления числа на основание системы счисления -10

s[i]=ost;

i++;

}while ((chislo/=10)!=0);

 

puts("Перевернутое число");

 

// вывод массива по одному элементу

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

printf("%d",s[j]);

 

getch();

}

 

Пример 7. Сортировка массива по возрастанию методом пузырька.

Сущность алгоритма. Выполняется сравнение двух рядом стоящих элементов массива. Если значение предыдущего элемента массива больше, чем следующего т.е. mas[i] > mas[i+1], то выполняется их перестановка. сравнения выполняются до тех пор, пока не будут просмотрены все элементы массива. В результате элемент массива, имеющий наибольшее значение, окажется на последнем месте в массиве. Затем количество элементов массива уменьшается на 1, и вновь выполняются сравнения и при необходимости, перестановки элементов массива. Сортировка заканчивается, если на предыдущем шаге не было выполнено ни одной перестановки.

 

#include <stdlib.h>

#include <time.h>

#include <stdio.h>

#include <conio.h>

 

// с помощью MAXKOL задаем максимально возможное количество элементов массива

#define MAXKOL 100

 

void main(void)

{

int mas[MAXKOL],kol,i,j,temp,FLAG;

clrscr();

 

for(;;) // Проверка правильности ввода значения переменной kol

{

puts("Количество элементов");

scanf("%d",&kol);

if(kol>0 && kol <= MAXKOL)

break; //выход из цикла, если ввод выполнен правильно

printf("Недопустимое количество элементов\n");

}

 

randomize();

 

// Заполнение массива случайными числами

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

mas[i]=rand();

 

puts("Не отсортированный массив ");

// Вывод не сортированного массива по 10 элементов в строке

 

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

{

printf("%6d",mas[i]);

if(i%10==9)

printf("\n");

}

 

// Алгоритм сортировки массива

j=kol-1;

do{

FLAG=0;

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

{

if(mas[i] > mas[i+1])

{

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

temp=mas[i];

mas[i]=mas[i+1];

mas[i+1]=temp;

FLAG=1;

}

}

j=j-1;

}while(FLAG); // сортировка заканчивается, если на предыдушем шаге

// не было выполнено ни одной перестановки в массиве

 

puts("\n\n Отсортированный массив ");

// вывод отсортированного массива по 10 элементов в строке

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

{

printf("%6d",mas[i]);

if(i%10==9)

printf("\n");

}

getch();

}

 

Пример 8. Вывод всех трехзначных чисел, которые содержат заданную цифру. Значение цифры вводится с клавиатуры.

 

#include <stdio.h>

#include <conio.h>

 

int main(void)

{

int x[6]; /* резервирование памяти под 6 элементов массива */

int n, i, c,cifra;

clrscr();

 

puts("введите цифру");

scanf("%d", &cifra);

 

printf("Все трехзначные числа, содержащие цифру %d\n",cifra);

 

// во внешнем цикле перебираются все трехзначные числа

for(n=100; n<999; n++) {

c=n; //запомним анализируемое число

 

//во внутреннем цикле находятся все цифры для каждого трехзначного числа

for(;;)

{

x[n1]=n%10; //вычисление остатка от деления числа на 10

 

if(x[n1]==cifra) //проверка, имеется ли цифра в числе

{printf("%d ",c); //вывод числа, если цифра в нем есть

break; //выход из цикла, если цифра в числе есть

}

 

n/=10; // вычисление результата деления числа на 10

if(n==0) //если найдены все цифры числа- выход

break;

}

n=c; //восстанавливаем значение числа

}

 

getch();

return 0;

}

 


Дата добавления: 2015-07-11; просмотров: 64 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Пример3.| Одномерные массивы

mybiblioteka.su - 2015-2024 год. (0.008 сек.)