Программы на C (1157507), страница 2
Текст из файла (страница 2)
http://abramov.org.ua/ru/
http://amberv.ru/skachat-zadachi-po-programmirovaniyu-na-paskale.php
Программа №1
0 000
1 001
2 011
3 010
4 110
Ну а теперь полная формулировка задания:
Реализовать программу на с++, которая будет считавать последовательно два числа,
представляющих из себя четырехбитные числа. И нужно будет определить являются
ли введенные числа соседними числами по коду Грея.
{Соседние числа по коду Грея - числа отличающиеся на один бит}
Собственно реализация на с++
// 666.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include
#include
#include
const int N=5;// количество символов в строке
char lin1[N],lin2[N];// строки содержащие коды Грея
int main()
{
int err(0);// переменная для проверки, что в введенных строках
// присутствуют только числа 0 и 1
setlocale(LC_CTYPE,"rus");
std::cout<<"Введите первое число:";
std::cin.getline(lin1,N);// считывание символов в первую строку
// условие проверки, что в введенных строках
// присутствуют только числа 0 и 1
for(int i=0;i<4;i++){
if(lin1[i]=='1' || lin1[i]=='0' );
else{std::cout<<"error\n";
err++;
break;
}
}
std::cout<<"Введите второе число:";
std::cin.getline(lin2,N);// считываем вторую строку
for(int i=0;i<4;i++){
if(lin2[i]=='1' || lin2[i]=='0');
else{std::cout<<"error\n";
err++;
break;
}
}
int sum2(0),sum1(0);//сюда будем записывать
// сумму чисел содержащихся в коде Грея
for(int i=0;i<4;i++){
sum1+=lin1[i];
sum2+=lin2[i];
}
if(err==0){
if(sum1==sum2+1 || sum2==sum1+1)std::cout<<"Числа являются соседними по коду ГреЯ\n";
else std::cout<<"Числа НЕ являются соседними по коду ГреЯ";
}
return 0;
Программа №2
Хортон «Visual C++ Полный курс»(стр.88-92)
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <clocale>
using namespace std;
int main(int argc, _TCHAR* argv[])
{
setlocale(LC_CTYPE,"rus");
char nazv[100];// строковой массив в которое собственно говоря будет записываться название файла
cout<<"Введите название файла:";
cin>>nazv;
ifstream inpfile(nazv);// открываем файл для чтения
if(!inpfile.is_open())
cout<<"Файл не может быть открыт";
else
{
int kolotkrck(0);//счетчик количества {
int kolzakrck(0);//счетчик количества } изначально равный нулю
char symv;// переменная для считывания символов из входного файла
inpfile>>symv; // считываем один символ из входного файла
while(inpfile)
{
if(symv=='{')kolotkrck++;
if(symv=='}')
{
kolzakrck++;
if(kolzakrck>kolotkrck)break;
}
inpfile>>symv;//считываем следующий символ
}
inpfile.close();
ofstream outfile("out.txt");//открываем выходной файл для записи
if(!outfile.is_open())cout<<"Невозможно открыть файл";
if(kolotkrck==0 && kolzakrck==0)
{
cout<<"Открывающихся и закрывающихся скобок не наблюдается";
outfile<<"Открывающихся и закрывающихся скобок не наблюдается";
}
else
{
if(kolotkrck==kolzakrck)
{
cout<<"количество Открывающихся и закрывающихся скобок одинаково";
outfile<<"количество Открывающихся и закрывающихся скобок одинаково";
}
else
{
cout<<"количество Открывающихся и закрывающихся скобок различно";
outfile<<"количество Открывающихся и закрывающихся скобок различно";
}
}
}
return 0;
}