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

Задача с тимуса №1881 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Передача значений из txt http://www.cyberforum.ru/cpp-beginners/thread1222537.html
Есть файлик txt, пусть в нем написано к примеру A=один B=два C=три слева английская аббревиатура, после равно русские обозначения... как прочитать файлик средствами C++ или QT, чтобы переменная принимала значения после равно, т.е. русские аббревиатурки? надеюсь понятно объяснил...
C++ Считать слова строк из файла в вектор векторов допустим есть вектор векторов vector<vector<string>> V1 ; как считать из файла слова, записанные в строку, так чтобы каждое слово было отдельным элементом во внутреннем векторе и чтобы каждая новая строка была новым элементом внешнего вектора . // данные: wrd smwrd ssword anthrwrd smword ssms dfgdfg ............... и так далее сколько угодно строк из... http://www.cyberforum.ru/cpp-beginners/thread1222518.html
C++ Найти все пары дружественных чисел, лежащих в диапазоне от 200 до 300
Нужно найти все пары дружественных чисел, лежащих в диапазоне от 200 до 300 Почему-то выдает другие числа. Пожалуйста, проверьте #include <iostream> #include <cmath> using namespace std; void swapRange(int &, int &); int propDivisors(int); int amicPairs(int, int); int main()
Посоветуйте, как практиковаться в написании кода? C++
В общем сабж. В ВУЗе нам объяснили теорию по С++ очень даже хорошо, но практик было очень мало. Меня беспокоит адская неуверенность, я буквально теряюсь, когда сажусь писать код. Поэтому лабы, и вообще что угодно пишу оченнь медленно.. Чувствую себя ущербным каким-то... Что можете посоветовать? Какие годные книги есть именно по практике?
C++ Разбить исходный текстовый файл на страницы заданной длины и ширины http://www.cyberforum.ru/cpp-beginners/thread1222474.html
Составить программу, разбивающую исходный текстовый файл на страницы заданной длины и ширины. Результат выводится на экран. Подскажите функции,с помощью которых можно сделать.)
C++ Является ли строка палиндромом Проверить,является ли строка палиндромом. Прокоментируйте строки пожалуйста подробнее

Показать сообщение отдельно
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
04.07.2014, 16:41     Задача с тимуса №1881
Вот правильный код
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
#include <iostream>
using std::cin;
using std::cout;
 
int main()
{
    int strok, simvolov, slov,
        tekStroka = 1, vTekStroke = 0; // номер текущей строки и кол-во символов в текущей строке
    char tekSlovo[101];
    cin >> strok >> simvolov >> slov;
    cin.ignore('\n', 10);
 
    for (int i = 0; i < slov; i++)
    {
        cin.getline(tekSlovo,101);
        if (vTekStroke + strlen(tekSlovo) + (vTekStroke > 0? 1 : 0) <= simvolov)
            // если в строке уже есть слова, надо добавить 1 пробел
            vTekStroke += strlen(tekSlovo) + (vTekStroke > 0? 1 : 0);
        else
        {
            ++tekStroka;
            vTekStroke = strlen(tekSlovo);
        }
    }
    cout << tekStroka/strok + (tekStroka%strok > 0? 1 : 0);
    return 0;
}
Единственное отличие от кода Керра, в том, что я добавил cin.ignore('\n', 10). Дело в том, что после того как считаешь 3 целых числа, в потоке будет стоять символ конца строки (обычно 2 символа - 10 и 13). И, затем эти символы ты попытаешься считать в строку (вместо нормальной первой строки). В итоге самая последняя строка не будет прочитана. cin.ignore позволяет выкинуть из потока эти ненужные символы.
 
Текущее время: 17:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru