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

Как сравнить 2 массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ввод из файла (Pascal -> C++) http://www.cyberforum.ru/cpp-beginners/thread1214553.html
Помогите пожалуйста переписать с Pascal на C++ ввод из файла. Файл примерно такой: 5 1 2 3 4 5 3 5 2 Assign(ft,'in.txt'); Reset(ft); Readln(ft,n);
C++ Программа для вычисления суммы ряда Нужно написать программу для вычисления суммы ряда. Формулы надо переписывать внутрь сообщения. Редактор формул - внизу окна. http://www.cyberforum.ru/cpp-beginners/thread1214547.html
C++ Рост учеников класса задан в виде массива. Определить средний рост мальчиков и девочек
Рост учеников класса представлен в виде массива. Определить средний рост мальчиков и девочек. Вывести сообщение кто выше девочки и мальчики. Только-только начинаю и не знаю совсем. Программа пишется в Borland C++
Вывод двух слов максимальной длины C++
Дан файл со словами,требуется вывести на экран два слова максимальной длины. Имеется программа для вывода одного слова,для двух вот никак не могу сообразить Вот для одного #include "stdafx.h" #include <iostream> #include <fstream> using namespace std; int _tmain(int argc, _TCHAR* argv) {char s, smax;
C++ Программа на файл содержащий сведения о телефонах http://www.cyberforum.ru/cpp-beginners/thread1214517.html
А.Программа на файл, содержащий сведения о телефонах абонентов. Каждая запись имеет поля: фамилия абонентов, год установки телефона, номер телефона. Количество записей произвольное. Б. Написать программу, выдающую информацию следующего вида: по вводимой фамилии абонента выдается номер телефона. определяется количество установленных телефонов с ХХХХ года. Номера года вводятся с терминала ...
C++ Дерево отрезков в определенной модификации Нужно уметь выполнять операции вида: 1) Присвоение на отрезке ( А l r x (от l до r сменить значения на x) 2) Сума на отрезке( Q l r (найти суму от l, r)) Помогите подправить мой код: #define _CRT_SECURE_NO_WARNINGS #include <algorithm> #include <iostream> #include <iomanip> #include <cmath> подробнее

Показать сообщение отдельно
Psilon
Master of Orion
5770 / 4718 / 622
Регистрация: 10.07.2011
Сообщений: 14,195
Записей в блоге: 5
Завершенные тесты: 4
02.07.2014, 02:28     Как сравнить 2 массива
IGPIGP, я когда смотрел нутри фреймворка, там методы внутри кстати используют преимущества аппаратуры. Например, встречаются записи #ifdef AMD64. Так что я склоняюсь к мысли, что дураки мы. а не они

Добавлено через 3 минуты
только я сказал, и вот действительно
исходники фреймворка:
http://referencesource.microsoft.com...stem/string.cs

тот же код, но в исходниках (а не при декомпиляции) выглядит так:
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
        //
        //
        // NATIVE INSTANCE METHODS
        //
        //
    
        //
        // Search/Query methods
        //
 
        [System.Security.SecuritySafeCritical]  // auto-generated
        [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
        private unsafe static bool EqualsHelper(String strA, String strB)
        {
            Contract.Requires(strA != null);
            Contract.Requires(strB != null);
            Contract.Requires(strA.Length == strB.Length);
 
            int length = strA.Length;
 
            fixed (char* ap = &strA.m_firstChar) fixed (char* bp = &strB.m_firstChar)
            {
                char* a = ap;
                char* b = bp;
 
                // unroll the loop
#if AMD64
                // for AMD64 bit platform we unroll by 12 and
                // check 3 qword at a time. This is less code
                // than the 32 bit case and is shorter
                // pathlength
 
                while (length >= 12)
                {
                    if (*(long*)a     != *(long*)b) return false;
                    if (*(long*)(a+4) != *(long*)(b+4)) return false;
                    if (*(long*)(a+8) != *(long*)(b+8)) return false;
                    a += 12; b += 12; length -= 12;
                }
#else
                while (length >= 10)
                {
                    if (*(int*)a != *(int*)b) return false;
                    if (*(int*)(a+2) != *(int*)(b+2)) return false;
                    if (*(int*)(a+4) != *(int*)(b+4)) return false;
                    if (*(int*)(a+6) != *(int*)(b+6)) return false;
                    if (*(int*)(a+8) != *(int*)(b+8)) return false;
                    a += 10; b += 10; length -= 10;
                }
#endif
 
                // This depends on the fact that the String objects are
                // always zero terminated and that the terminating zero is not included
                // in the length. For odd string sizes, the last compare will include
                // the zero terminator.
                while (length > 0) 
                {
                    if (*(int*)a != *(int*)b) break;
                    a += 2; b += 2; length -= 2;
                }
 
                return (length <= 0);
            }
        }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru