Программирование на C / C++ / Лабораторные работы2 / УГАТУ АСОИ-136 пр-ние на ЯВУ лаб.№3 вар.№14Миша
.docУфимский государственный авиационный технический университет
Кафедра АСУ
Отчёт
по лабораторной работе №3
по дисциплине ”Программирование на ЯВУ”
вариант №14
Выполнил: студент группы АСОИ-136
Косинский М.О. Проверил: доцент кафедры АПРиС
Фёдорова Н.И.
Уфа 2007
Тема: Обработка целых данных
Цель работы: Знакомство и получение навыков обработки целых данных
в языке С++.
Вариант №14.
Задание:
Найти все натуральные числа, не превосходящие заданного числа N, десятичное представление которых не содержит совпадающие цифры.
Решение:
Решение задачи сводится к тому, что необходимо каждую цифру данного числа сравнить с оставшимися из этого числа.
Блок-схема
Текст программы на С++
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{long N,x,y,z;
long fl,ind,k1,k2;
clrscr();
cout<<"введите переменные N\n";
cout<<"N=";
cin>>N;
fl=1;
ind=0;
for(x=1;x<=N;x++)
{
for(y=x;y>0; )
{
k1=y%10;
y/=10;
for(z=y;z>0; )
{
k2=z%10;
if(k1==k2)
fl=0;
z/=10;
}
}
if(fl==1)
{
ind+=1;
cout<<" "<<endl<<ind<<"-e chislo "<<x;
}
fl=1;
}
getch();
}
Проверка:
N=50; Результат: все числа от 1 до 50, кроме 11, 22, 33, 44;
N=120; Результат: все числа от 1 до 120, кроме 11, 22, 33, 44, 55, 66, 77, 88, 99, 100, 101, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119.