Форум программистов, компьютерный форум CyberForum.ru

Проверка на палиндром. Убрать лишнее и сделать строку палиндромом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ребят, подскажите решение задачи http://www.cyberforum.ru/cpp-beginners/thread1603756.html
А вот и сама задача.... Дан массив D Найти и вывести элементы массива меньше 3 и их порядковые номера в массиве. А также сумму всех порядковых номеров. Если сумма больше 13, то нулевые элементы заменить на сумму, в противном случаи все положительные элементы умножить на 2. Вывести полученный массив.
C++ как считать информацию из файла Информация, входящая в файл: номер рейса, вес багажа, количество вещей. При чтении файла определить количество пассажиров, вес багажа которых превышает 30 кг . #include <iostream> #include <fstream> using namespace std; int main () { setlocale (LC_ALL, "Rus"); ofstream fout("file.txt"); fout << "Air Company" <<endl; fout << "Номер рейса: 317, 421, 103, 51, 78"<<... http://www.cyberforum.ru/cpp-beginners/thread1603752.html
сумма увеличивается на 1 раз больше нужного C++
int Z=0,j,b,n; float Se,E=0.0,e = 5.4365636,fakt1=1.0,summaNF=1.0; E = StrToFloat(RichEdit3->Lines->Strings); Se=e; for (j=2,b=1,n=0;Se>(float)E;j++,b++,n++) { fakt1*=b; summaNF += j/fakt1; Se=e-summaNF; }
C++ Обработка одномерного массива
В одномерном массиве, который состоит из N действительных элементов, вычислить : 1) сумму элементов массива с нечетными номерами ; 2) сумму элементов массива, расположенных между первым i последним отрицательными элементами . Сжать массив, удалив из него вcе элементы, модуль которых не превышает 1. Элементы, которые освободились в конце массива, заполнить нулями.
C++ Перебрать все файлы в текущей папке http://www.cyberforum.ru/cpp-beginners/thread1603712.html
Здравствуйте. Может ли кто нибудь объяснить неумному, как пользоваться функцией FindFirstFile? Я читал о ней, но не понял как реализовать ее для этого: 1)Найти первый файл в папке. 2) Возвратить путь к этому файлу(строкой). 3)Если есть еще файл - повторить с ним такую же операцию. Или, может кто подскажет другие способы для этого. Спасибо.
C++ Чтение строки из файла Помогите пожалйста считать строку из файла #include "stdafx.h" #include "iostream" #include "fstream" #include "iomanip" подробнее

Показать сообщение отдельно
andrewkharkov
0 / 0 / 0
Регистрация: 06.12.2015
Сообщений: 11

Проверка на палиндром. Убрать лишнее и сделать строку палиндромом - C++

06.12.2015, 13:46. Просмотров 133. Ответов 0
Метки (Все метки)

Суть задания: есть линия, состоящая из белых и черных клеток (массив из единиц и нулей). Проверить, является ли эта линия палиндромом. Если нет, высчитать, сколько нужно отрезать клеточек, чтобы линия стала палиндромом. Пример: 0101
K = 1 (т.е. нужно отрезать одну клетку).
Товарищ помог решить на C#, я переписал на C++, но у меня не выходит ничего.


Добавлено через 7 минут
Прошу прощения, сразу не додумался до ошибки. Вот рабочий код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "stdafx.h"
#include "iostream"
using namespace std;
 
int check(int *a, int start, int end) {
    bool result = true;
    if (start > end) {
        return false;
    }
    for (int i = start; i < end / 2; i++) {
        if (a[i] != a[end - i - 1]) {
            result = false;
            break;
        }
    }
    return result;
}
 
int main()
{
    int n;
    cin >> n;
    int *a = new int[n];
    for (int i = 0; i < n;i++) {
        cin >> a[i];
    }
    int minRight = 66;
    int minLeft = 66;
    for (int j = 0; j < n; j++) {
        for (int i = 0; i < n; i++) {
            if (check(a, i, n - j)) {
                if (i + j < minRight + minLeft) {
                    minLeft = i;
                    minRight = j;
                }
            }
        }
    }
    for (int i = minLeft; i < n - minRight; i++) {
        cout << a[i];
    }
    cout << endl << "K = " << minRight + minLeft;
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru