C++: Вес Хэмминга с использованием atoi, itoa. Не рекурсия

Штука то интересная. Вес Хэмминга это количество единиц в числе, если его перевести в двоичную систему. Реализовать можно разными способами. Например так:

Continue reading

C++: Перевести строку в нижний регистр.

В си есть функция для перевода в нижний регистр strlwr(), но можно написать и собственную реализацию:


#include "stdafx.h"
#include "locale.h"
#include "string.h"

void main()
{
    char string[255];
    setlocale(0,"Russian");
    printf("Введите слово:\n");
    gets(string);
    for(int i=0;i<strlen(string);i++)
    {
        if(string[i]>='A' && string[i]<='Z')
        {
            string[i]+=32;
        }
    }
    printf("%s \n",string);
}

C++: Заполнить матрицу нолями, кроме главной и побочной диагоналей

Это во многом стандартное заполнение, но с условиями. Главная диагональ вычисляется по формуле i==j, а побочная j==N-i-1

Такие образом, если элемент находится на главной или побочной, заполняем случайно, иначе-нуликами.

Continue reading

C++: Найти модуль числа

Задача сводится к нахождению модуля числа.

Я вижу 2 варианта решения этой задачи.

  1. Использовать функцию abs(), например abs(-5) вернет 5.
  2. Реализовать что-то подобное самостоятельно

Continue reading

C++: Нижнеугольная матрица

Написать программу,которая выводит на экран нижнетреугольную матрицу. Нижнетреугольная матрица — такая матрица, у которой все элементы которые ниже главной диагонали равны нулю, а все другие заданы случайным образом.

Continue reading

С++: Числа Фиббоначи (рекурсия и не рекурсия)

Задание:

Написать программу, которая реализует рекурсивную и нерекурсивную функцию, которая выводит на экран число Фиббоначи с индексом N
Последовательность Фиббоначи: x[n]=x[n-2]+x[n-1],x[0]=0;x[1]=1;

Continue reading

C++: Есть ли число в массиве?

Задача: написать программу, которая заполняет массив из N элементов случайными числами и проверяет, есть ли в массиве введенное число

Сводится к написанию функции проверки есть ли оно.

bool isNumberInMassive(int k,int massive[],int size)
{
    for (int i=0;i<size;i++)
    {
        if (k==massive[i])
        {
            return true;
        }
    }
    return false;
}

Если пояснять, то тут просходит следущее: в функцию передается число, которое нужно проверить на наличие в массиве, массив и размерность массива. Далее пробегая в цикле проверяем, совпало ли значение элемента с нашим числом? Если да — возвращаем истину, по окончании же цикла (если нашел бы — выкинул бы истину) возвращаем ложь.

Continue reading

C++: Генератор псевдослучайных чисел (BBS).

Генератор псевдослучайных чисел BBS задается следующим рекуррентным соотношением X[n]=X[n-1]^2 mod m,где X0 и m являются параметрами генератора. Написать программу,которая выводит N случайных псевдочисел,полученных с помощью этого генератора,при X0=2 и m=4747,число N вводится с клавиатуры.

Реализация на C++

Continue reading

C++: Заполнить массив и исключить элементы входящие в интервал [5,25]

Тоже просто и тоже массивы. Сначала создать массив и его на экран. После этого вывести только те элементы которые не входят в отрезок [5, 25].

Continue reading