Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 07.01.2018
Сообщений: 21

Поиск заданной фамилии в массиве

01.03.2018, 14:54. Показов 5337. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите в чем ошибка? Мне нужно сделать функцию, которая будет искать заданную фамилию в массиве, возвращающей кол-во таких же фамилий в массиве или 0, если нету подобных.
не могу додуматься... прошу какие нибудь ссылки на подсказки...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
static int FoundSurname1(string[] mas, string surname)
    {
        for(int i = 0; i < mas.Length; i++)
        {
            foreach(string a in mas)
            {
                if(surname == a)
                {
                    return i;
                }
            }
        }
        
        return 0;
    }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2018, 14:54
Ответы с готовыми решениями:

Осуществить поиск в файле даты рождения по заданной фамилии
&quot;Разработать программу, которая создает файл, содержащий список фамилий и даты рождения. Осуществить поиск в этом файле даты рождения...

Поиск в массиве по введенной фамилии ученика
Дан массив содержащий содержащий информацию об учениках некоторой школы,содержащий следующие атрибуты: ФИО,адрес(улица,дом,квартира),дата...

Как сделать поиск по фамилии в данном массиве
Ребят помогите плиз дописать прогу не могу понять как сделать поиск по фамилии в данном массиве что бы он нашёл эту фамилию в массиве и...

24
 Аватар для Bac9_aJlkaLLl
4 / 4 / 2
Регистрация: 15.05.2017
Сообщений: 61
01.03.2018, 14:58
Для сравнения строк не используй двойное равно.
Для этого существует метод equals.
C#
1
surname.Equals(a)
0
Модератор
 Аватар для Curry
5158 / 3486 / 536
Регистрация: 01.06.2013
Сообщений: 7,564
Записей в блоге: 9
01.03.2018, 15:07
Лучший ответ Сообщение было отмечено Nafanyatlt как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
static int FoundSurname1(string[] mas, string surname)
    {
        int cnt=0;
        foreach(string a in mas)
        {
            if(surname.Equals(a))
            {
                cnt++;
            }
        }
        
        return cnt;
    }
1
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,397
02.03.2018, 13:36
Цитата Сообщение от Bac9_aJlkaLLl Посмотреть сообщение
Для сравнения строк не используй двойное равно.
Почему?

Добавлено через 1 минуту
Вроде бы это одно и тоже.
3
 Аватар для Вадим Тукаев
310 / 291 / 116
Регистрация: 23.01.2018
Сообщений: 933
02.03.2018, 17:54
C#
1
2
3
4
5
6
7
8
9
10
using System;
using System.Linq;
 
class Program
{
    public static void Main()
    {
        Console.WriteLine("Путин Иванов Путин Петров Путин Сидоров Путин".Split().Count(s => s == "Путин"));
    }
}
0
 Аватар для Bac9_aJlkaLLl
4 / 4 / 2
Регистрация: 15.05.2017
Сообщений: 61
04.03.2018, 10:34
Цитата Сообщение от Usaga Посмотреть сообщение
Почему?

Добавлено через 1 минуту
Вроде бы это одно и тоже.
Ну во-первых, я неверно выразился, я имел ввиду, что вообще в принципе, на мой взгляд лучше использовать метод, чем "==".
А во-вторых, это потому, что, например, в той же Яве,
C#
1
if(surname == a)
уже не сработает. Говорю, как не совсем опытный человек, не совсем опытному человеку, ибо в начале программирования, люди ищут "свой" язык, а для интеграции из одного языка в другой, мне кажется метод equals будет куда лучше. Да и к тому же, это более мощный инструмент, на мой взгляд, т.к. позволяет сравнивать куда больше и точнее чем "==".

P.S. Немного нубского бреда.
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,397
04.03.2018, 12:15
Bac9_aJlkaLLl, в смысле "больше и точнее"? Вы в код поглядите, == и Equals(string) - одно и тоже. И какая разница что там в яве?
0
 Аватар для Bac9_aJlkaLLl
4 / 4 / 2
Регистрация: 15.05.2017
Сообщений: 61
07.03.2018, 09:00
Никто не спорит, что в данном случае это одно и тоже. НО equals работает и с объектами (он универсален (практически)). Я лишь имел ввиду, что лучше использовать везде тот же equals, вспоминать где он применим а где нет.
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,397
07.03.2018, 09:20
Bac9_aJlkaLLl, а == с объектами не работает?
0
 Аватар для Bac9_aJlkaLLl
4 / 4 / 2
Регистрация: 15.05.2017
Сообщений: 61
07.03.2018, 09:38
Не всегда так, как как необходимо, он, насколько я знаю, приводит типы (по крайней мере старается), а equals - нет.
Я могу ошибаться, но вот переопределить под свои нужды метод можно, а "==" - нет.
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,397
07.03.2018, 09:52
Bac9_aJlkaLLl, данный оператор ничего не приводит. И определить его под свои нужны можно.
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
07.03.2018, 09:53
Цитата Сообщение от Bac9_aJlkaLLl Посмотреть сообщение
а "==" - нет.
да ладно?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Перегружаем логический оператор ==
        public static bool operator ==(MyArr obj1, MyArr obj2)
        {
            if ((obj1.x == obj2.x) && (obj1.y == obj2.y) && (obj1.z == obj2.z))
                return true;
            return false;
        }
 
        // Теперь обязательно нужно перегрузить логический оператор !=
        public static bool operator !=(MyArr obj1, MyArr obj2)
        {
            if ((obj1.x != obj2.x) || (obj1.y != obj2.y) || (obj1.z != obj2.z))
                return true;
            return false;
        }
0
 Аватар для Bac9_aJlkaLLl
4 / 4 / 2
Регистрация: 15.05.2017
Сообщений: 61
07.03.2018, 10:46
Цитата Сообщение от SeIZVeIZ Посмотреть сообщение
да ладно?
Ну я же сказал, что могу ошибаться.

Ну тогда вот вам такой вопрос. Зачем тогда вообще нужен метод equals, если его дольше использовать в сравнении с двойным равно, которое имеет такой же функционал?
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,397
07.03.2018, 11:08
Bac9_aJlkaLLl, ничего его не дольше использовать. Язык вам дал возможность разную логику реализовать в операторе == и методе Equals. Для string это одно и то же, но в своём коде вы можете сделать иначе.
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
07.03.2018, 11:25
Usaga, использование Equals вместо == гарантированно избавит от ситуации типа:
C#
1
2
3
4
5
bool IsKillAllHumans = false;
if (IsKillAllHumans = true) // <=
   KillAllHumans();
else
   ToBeAGoodRobot();
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,397
07.03.2018, 11:27
aquaMakc, разве что...
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
07.03.2018, 12:12
aquaMakc, более менее правильный анализатор кода, скажет при такой ситуации что что-то тут не так
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
07.03.2018, 12:46
Цитата Сообщение от SeIZVeIZ Посмотреть сообщение
более менее правильный анализатор кода, скажет при такой ситуации что что-то тут не так
Само собой, но для этого надо анализаторами кода пользоваться. Много ли посетителей этого форума вообще знают что это такое?
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
07.03.2018, 12:52
aquaMakc, они же и сравнивают так как им сказали где-либо, в универе/ в книге / в ролике на ютубе и чхать им как и что будет потом
0
 Аватар для Bac9_aJlkaLLl
4 / 4 / 2
Регистрация: 15.05.2017
Сообщений: 61
07.03.2018, 13:15
Цитата Сообщение от SeIZVeIZ Посмотреть сообщение
в универе/ в книге / в ролике
перечислил почти все способы получения информации. Документацию добавь, тогда 100% попадешь!
По такой логике можно сказать, что угодно.

P.S. Если Вы уже говорите о том, что люди просто слепо вторят тому, что видят, то хочу вам сказать:
Лично мне ни один преподаватель не говорил про метод. Ни в одном простом примере сравнений объектов я не видел этот метод. Лишь когда у меня дошло до сравнения двух самописанных объектов, тогда то я познакомился с эквиваленцией.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.03.2018, 13:15
Помогаю со студенческими работами здесь

Поиск заданной строки в массиве
Нужно сделать программу, которая осуществляет поиск заданной строки в отсортированном в соответствии с русским алфавитом массиве строк...

Поиск в массиве по заданной строке
Необходимо найти самолет по место назначения, в этой функции выдаёт ошибку - strcmp,вот вся задача #include &lt;iostream&gt; #include...

В массиве F(n) записаны фамилии студентов, в массивах A(n), B(n), C(n) - их оценки за экзамены летней сессии. Напечатать фамилии двоечников
В массиве F(n) записаны фамилии студентов, в массивах A(n), B(n), C(n) - их оценки за экзамены летней сессии. Напечатать фамилии двоечников.

Поиск заданной буквы в двумерном массиве
Помогите пожалуйста, не погу понять двухмерный массив. Задание: Дано двухмерный символьный массив. Найти количество букв f.

Поиск заданной цепочки бит в массиве
Помогите разобраться в задании: Сразу же не понятно в массиве чего искать битовую строку? Массиве байтов, слов, двойных слов? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru