С++: Записать первые n членов геометрической прогрессии в файл

Задача:

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

Continue reading

С++: Является ли символ большой буквой?

Еще одна функция-помогалка в дополнение к функции, которая проверяет символ на число — это функция проверки на большую английскую букву. Таковая функция мне сегодня потребовалась. Вот она:

bool isCappital(char ch)
{
    return (ch >= 'A' && ch <= 'Z');
}

Принцип работы такой же, как и у «проверки числа». Так же можно реализовать функции, которые проверяли бы на буквы, на определенные символы.

C++: Число слов в строке

Пользователь вводит строку, нужно посчитать, сколько в ней слов.

Слова разделяются пробелами, значит, достаточно посчитать их количество, но пробелов всегда на 1 меньше, чем слов (исключая случай когда пробел стоит на конце строки), поэтому хорошо бы прибавить к числу пробелов единичку.

Continue reading

C++: Антисимметричная матрица

Задача:

Напишите программу которая создает антисимметричную матрицу размера N, заполненную случайными числами. Антисимметричная матрица: Aij=-Aji

Алгоритм примерно такой: Спрашиваем у пользователя, какого размера матрицу он бы хотел видеть. Стандартно всё заполняем случайными числами. После этих операций инициируем еще циклы, в которых изменяем значения

Continue reading

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