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

Задачи с олимпиады - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать массив указанной размерности и типа http://www.cyberforum.ru/cpp-beginners/thread835713.html
1. Сформировать массив указанной размерности и типа. 2. Выполнить необходимые преобразования. 3. Вывести входные и преобразованные данные, предоставив им соответствующие комментарии. 4....
C++ По выбору пользователя (реализуется через оператор switch) решить указанную задачу, использовав собственные функции По выбору пользователя (реализуется через оператор switch) решить указанную задачу, использовав собственные функции. Программу оформить в оконно-текстовом интерфейсе. 1. гипотенуза и площадь... http://www.cyberforum.ru/cpp-beginners/thread835709.html
В главной функции main () ввести входные данные, и вызвав собственные функции, вычислить значение выражения и вывести результаты C++
В главной функции main () ввести входные данные, и вызвав собственные функции, вычислить значение выражения и вывести результаты. Вычислить B = f (x, k, y) +0.8 f2 (x, y, y-k), при k = 0.6, x =...
Написать программу нахождения суммы C++
Написать программу нахождения суммы: а) n членов ряда для заданного х с помощью цикла с параметром; б) членов ряда с точностью ε для заданного х и их количество, используя цикл с постусловием. в)...
C++ Проверка близости графических объектов http://www.cyberforum.ru/cpp-beginners/thread835703.html
Здравствуйте! помогите реализовать проверку близости графических объектов. У меня есть объекты класса квадрат, которые содержат массивы вершин этих квадратов, координаты центра, угол поворота и т.д....
C++ разработка нерекурсивных функций (вычислить значение выражения) помогите плииз)) не могу разобраться в задаче:вычислить значение выражения a/b+c/d; результат представить в виде обыкновенной дроби, выполнив сокращение. подробнее

Показать сообщение отдельно
A1exSun
C#
55 / 55 / 1
Регистрация: 09.03.2013
Сообщений: 214
12.04.2013, 16:27  [ТС]
Понял Пожалуйста:
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
#include <iostream>
 
using namespace std;
 
int main(void)
{
    int n = 0, i, j, k = 0;
    int* nums = new int[1000]; // массив для вводимых цифр
    int* newnums = new int[1000]; // здесь будут числа
 
    do cin>>nums[n++]; // получение цифр
    while (nums[n - 1] != 0); // пока не 0
    for (i = 0; i < n; i++)
        newnums[i] = 0; // заполняем массив для новых чисел нулями
    n--; // уменьшаем количество полученых цифр, чтоб откинуть 0
    for (i = 0; i < n; i++)
    { // смотрим массив цифр
        for (j = 0; j < nums[i]; j++)
        { // складываем число из nums[i] цифр
            newnums[k] *= 10; // умножаем на число на 10
            newnums[k] += nums[i + j + 1]; // прибавляем следующую цифру
        }
        k++; // увеличиваем количество чисел
        i += j; // пропускаем цифры, с которых сделали число
    }
    cout<<k<<"\n"; // выводим количество чисел
    for (i = 0; i < k; i++) cout<<newnums[i]<<"\n"; // выводим числа
    return 0;
}
Пока писал комментарии, нашел одну ошибку:
C++
1
2
    n--;
    for (i = 0; i < n - 1; i++)
Забыл убрать "- 1" в условии, я же перед ним уже уменьшил n. Исправил, код прошел 11 тестов.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru