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

Определить, есть ли в школе в каких-либо параллельных классах однофамильцы

15.04.2015, 23:01. Показов 2631. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите продолжить, хотя бы подсказку дать

Даны сведения о школьниках: фамилия, имя, отчество, пол, дата рождения (год, число, месяц), класс.
Написать программу, позволяющую определить, есть ли в школе в каких-либо параллельных классах однофамильцы.


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
class Program
    {
        struct People
        {
            public string pol, name, fam, ot;
            public int god_r, klass;
        }
        static void Main(string[] args)
        {
        
 
            const int n = 4;
            int i;
            string s;
            People[] a = new People[n];
 
                  for (i = 0; i < n; i++)
                   {
                       Console.Write("Введите фамилию: ");             a[i].fam = Console.ReadLine();
                       Console.Write("Введите имя: ");                 a[i].name = Console.ReadLine();
                       Console.Write("Введите отчество: ");            a[i].ot = Console.ReadLine();
                       Console.Write("Введите год рождения: ");        a[i].god_r = Convert.ToInt32(Console.ReadLine());
                       Console.Write("Введите пол: ");                 a[i].pol = Console.ReadLine();
                       Console.Write("Введите класс: ");               a[i].klass = Convert.ToInt32(Console.ReadLine());
                   }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.04.2015, 23:01
Ответы с готовыми решениями:

Структуры данных. Написать программу, позволяющую определить, есть ли в школе в каких-либо классах однофамильцы
Написать программу, позволяющую определить, есть ли в школе в каких-либо классах однофамильцы. Данные об ученике идут в следующем порядке:...

Выяснить, есть ли однофамильцы в каких-либо параллельных классах
3)Сведения об ученике состоят из его имени, фамилии и названия класса(Года обучения и буквы), в котором он учится. Выяснить, есть ли...

Выяснить, имеются ли однофамильцы в каких либо параллельных классах
Здравствуйте, где ошибка помогите найти голова разламывается Условия задачи: Сведения об ученике состоят из его имени и фамилии и...

10
24 / 24 / 11
Регистрация: 01.06.2014
Сообщений: 135
15.04.2015, 23:15
C#
1
2
3
4
5
6
7
8
9
10
for(var i = 1; i < Количество классов; i++) //Для каждого класса
   for(var j = 0; j < n; j++) //Берем всех учеников
      if(People[j].klass == i) //Если ученик в выбранном классе
         for(var k = j + 1; k < n; k++) //Ищем ему пару
           if(People[k].klass == i) //Если второй ученик в том же классе
              if (People[j].fam == People[k].fam) //Если их фамилии равны
              {
                  Console.WriteLine("Найдены однофамильцы с фамилией " + People[j].fam);
                  break;
              }
Добавлено через 1 минуту
Хотя я бы создал отдельный массив для каждого класса, в котором бы хранились ID учеников, чтобы работало гораздо быстрее.
0
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 37
15.04.2015, 23:20  [ТС]
Цитата Сообщение от PVD Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
for(var i = 1; i < Количество классов; i++) //Для каждого класса
   for(var j = 0; j < n; j++) //Берем всех учеников
      if(People[j].klass == i) //Если ученик в выбранном классе
         for(var k = j + 1; k < n; k++) //Ищем ему пару
           if(People[k].klass == i) //Если второй ученик в том же классе
              if (People[j].fam == People[k].fam) //Если их фамилии равны
              {
                  Console.WriteLine("Найдены однофамильцы с фамилией " + People[j].fam);
                  break;
              }
Добавлено через 1 минуту
Хотя я бы создал отдельный массив для каждого класса, в котором бы хранились ID учеников, чтобы работало гораздо быстрее.
А разве VAR и BREAK используется в C#?
0
24 / 24 / 11
Регистрация: 01.06.2014
Сообщений: 135
15.04.2015, 23:22
Ну, вообще-то да, почему это Вас смущает?
var - компилятор сам забоится об типе (на основе присваиваемого объекта)
break - принудительный выход из цикла
0
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 37
15.04.2015, 23:31  [ТС]
Цитата Сообщение от PVD Посмотреть сообщение
Ну, вообще-то да, почему это Вас смущает?
var - компилятор сам забоится об типе (на основе присваиваемого объекта)
break - принудительный выход из цикла
Ну просто мы не использовали их. Только в Паскале
0
24 / 24 / 11
Регистрация: 01.06.2014
Сообщений: 135
15.04.2015, 23:33
Вот
0
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 37
15.04.2015, 23:38  [ТС]
Цитата Сообщение от PVD Посмотреть сообщение
аа, ну да))

что то все равно не работает прога, ошибки выдает
0
24 / 24 / 11
Регистрация: 01.06.2014
Сообщений: 135
15.04.2015, 23:39
Какие ошибки?
0
0 / 0 / 0
Регистрация: 04.03.2015
Сообщений: 37
15.04.2015, 23:47  [ТС]
Цитата Сообщение от PVD Посмотреть сообщение
Какие ошибки?
Ошибка 1 Невозможно объявить локальную переменную с именем "i" в этой области видимости, т.к. она придаст другое значение "i", которая уже используется в области видимости "родительский или текущий" для обозначения чего-то другого F:\ConsoleApplication8\ConsoleApplicatio n8\Program.cs 35 9 ConsoleApplication8

Ошибка 2 "ConsoleApplication8.Program.People" является "тип", но используется как "переменная" F:\ConsoleApplication8\ConsoleApplicatio n8\Program.cs 37 10 ConsoleApplication8
0
24 / 24 / 11
Регистрация: 01.06.2014
Сообщений: 135
15.04.2015, 23:51
C#
1
2
3
4
5
6
7
8
9
10
for(var q = 1; q < Количество классов; q++) //Для каждого класса
   for(var j = 0; j < n; j++) //Берем всех учеников
      if(a[j].klass == q) //Если ученик в выбранном классе
         for(var k = j + 1; k < n; k++) //Ищем ему пару
           if(a[k].klass == q) //Если второй ученик в том же классе
              if (a[j].fam == a[k].fam) //Если их фамилии равны
              {
                  Console.WriteLine("Найдены однофамильцы с фамилией " + a[j].fam);
                  break;
              }
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
23.04.2015, 00:22
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
using System;
 
namespace ConsoleApplication8_записи
{
    public enum Sex { Female, Male }
    struct Pupil
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Patronymic { get; set; }
        public Sex Sex { get; set; }
        public int Year { get; set; }
        public int Class { get; set; }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            Pupil[] pupils = new Pupil[3];
 
            for (int i = 0; i < pupils.Length; i++)
            {
                Console.Write("Введите фамилию: "); pupils[i].LastName = Console.ReadLine();
                Console.Write("Введите имя: "); pupils[i].FirstName = Console.ReadLine();
                Console.Write("Введите отчество: "); pupils[i].Patronymic = Console.ReadLine();
                Console.Write("Введите год рождения: "); pupils[i].Year = int.Parse(Console.ReadLine());
                Console.Write("Введите пол: (0 - Ж, 1 - М) "); pupils[i].Sex = (Sex)int.Parse(Console.ReadLine());
                Console.Write("Введите класс: "); pupils[i].Class = int.Parse(Console.ReadLine());
            }
            for (int i = 0; i < pupils.Length; i++)
            {
                for (int j = i + 1; j < pupils.Length; j++)
                {
                    if (pupils[i].LastName == pupils[j].LastName)
                    {
                        Console.WriteLine("Найдены однофамильцы с фамилией " + pupils[j].LastName);
                        break;
                    }
                }
            }
            Console.ReadKey();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.04.2015, 00:22
Помогаю со студенческими работами здесь

Выяснить имеются ли однофамильцы в каких-либо параллельных классах
Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы) в котором он учится. Дан файл f, содержащий...

Выяснить, имеются ли однофамильцы в каких либо параллельных классах
Доброго времени суток! Условия задачи: Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в...

Определить, есть ли в школе в 8-х классах однофамильцы
Помогите решить задачу на тему &quot;Обработка записей&quot;: Составьте программу, позволяющую определить, есть ли в школе в 8-х классах...

Определить, есть ли в школе в 8х классах однофамильцы.
1)составить программу, позволяющую определить, есть ли в школе в 8х классах однофамильцы. Данные об учениках должны идти в следующем...

Определить, есть ли в школе в восьмых классах однофамильцы
составьте программу, позволяющую определить, есть ли в школе в восьмых классах однофамильцы. Данные об учениках должны идти в следующем...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
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-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru