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

Найти позицию самого правого вхождения - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ #define http://www.cyberforum.ru/cpp-beginners/thread957544.html
Здравствуйте, дорогие программисты! сразу хочу сказать, что в С++ я совсем недавно, поэтому толком ничего не знаю Во-первых, непосредственно сам код ( вывод расписания уроков ): #include <iostream>
C++ а так ли нужен этот ваш xor ? вот , встал вопрос (читаю шилдта , 3 издание) : а так ли нужен этот ваш xor ? шилдт пишет , что в С++ отсутствует функция xor (исключающая ИЛИ) , но ее можно создать собственными руками из стандартных функций not and or меня немного смущает практическая сторона вопроса: а где , на практике , приходится применять xor ? чем он полезен ? как бэ , мне интересно знать полезность данной функции . в... http://www.cyberforum.ru/cpp-beginners/thread957541.html
C++ функция SetTimer и обработка события таймера
Пишу программу в winapi. В какую часть программы я должен вставить функцию SetTimer?
C++ Функция добавляющая к числу справа цифру
Описать функцию AddRightDigit(D, K), добавляющую к целому положительному числу K справа цифру D (D – входной параметр целого типа, лежащий в диапазоне 0-9, K – параметр целого типа, являющийся одновременно входным и выходным). С помощью этой функции последовательно добавить к данному числу K справа данные цифры D1 и D2, выводя результат каждого добавления.
C++ С использованием функций! Найти сумму дробей http://www.cyberforum.ru/cpp-beginners/thread957520.html
Даны числители и знаменатели двух дробей. Найти сумму этих дробей. Результат представить в виде несократимой дроби. (Определить функцию для расчета наибольшего общего делителя двух натуральных чисел, используя алгоритм Евклида.) P.S. Помогите пожалуйста, а то у меня уже глаза слипаются ниче бошка не соображает.
C++ Наибольшая сумма элементов матрицы Сделав N шагов, пройтись по соседним ячейкам прямоугольной матрицы так, чтобы в итоге получилась наибольшая из всех возможных сумма. Стартуем в левом верхнем углу. подробнее

Показать сообщение отдельно
delexa
2 / 2 / 1
Регистрация: 02.03.2011
Сообщений: 134
19.09.2013, 23:42  [ТС]     Найти позицию самого правого вхождения
Спасибо)

исправил немного еще код

получилось

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
#include <iostream>
#include <math.h>
#include <cstdio>
 
using namespace std;
 
int main()
{   freopen("right.in", "r", stdin);
    freopen("right.out","w", stdout);
 
    int n, m;
    cin>>n>>m;
 
    int *mas  = new int[n];
    int *mas1 = new int[m];
    int *mas2 = new int[m];
 
    for (int i=0; i<n; i++)
    cin>>mas[i];
 
    for (int i=0; i<m; i++ )
    cin>>mas1[i];
 
    for (int i=0; i<m; i++)
        for (int j=n-1; j>=0; j--)
        {
            if (mas1[i]==mas[j]) { mas2[i]=j+1;  break; }
            else {mas2[i]=0;  }
        }
 
  for (int i=0; i<m; i++ )
    cout<<mas2[i]<<endl;
 
 
    return 0;
}

возникает вопрос. как переписать код, чтобы программа работала быстрее? а то в тесте возникает ошибка "превышено ограничение времени на тесте 9 2000 мс"
 
Текущее время: 09:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru