Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Аноним31
0 / 0 / 0
Регистрация: 28.05.2012
Сообщений: 5
1

Структура: Вывести фамилии людей, живущих в разных городах по одинаковым адресам

23.02.2013, 17:46. Просмотров 697. Ответов 5
Метки нет (Все метки)

Добрый день!
Есть задачка: Даны адреса n человек ( n = const). Вывести фамилии людей, живущих в разных городах по одинаковым адресам или сообщить, что таких людей нет.
Написал программу, но она не работает (иначе я б не обращался за помощью к вам). Укажите пожалуйста ошибку.
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
#include <stdio.h>
#include <string.h>
#define N 3
typedef struct{
    char name[100];
    char city[100];
    char street[100];
    int house;
    int flat;
} t_adds;
int main(){
  t_adds a[N]; int i,j,f=1;
  for(i=0;i<N;i++){
  scanf("%s",a[i].name);
  scanf("%s",a[i].city);
  scanf("%s",a[i].street);
  scanf("%i",&a[i].house);
  scanf("%i",&a[i].flat);
  }
  for(i=0;i<N-1;i++)
    for(j=i+1;j<N;j++){
      if(a[i].city!=a[j].city&&a[i].street==a[j].street&&a[i].house==a[j].house&&a[i].flat==a[j].flat)
        printf("%s, %s",a[i].name,a[j].name);
      else
        f=0;
    }
  if(f) printf("These people absent!");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2013, 17:46
Ответы с готовыми решениями:

Вывести фамилии людей, живущих в разных городах по одинаковым адресам
В файле содержаться адреса n человек. Вывести фамилии людей, живущих в разных городах по одинаковым...

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

В файле содержатся адреса n человек. Вывести фамилии людей, живущих в разных городах по одинаковым адресам
В файле содержаться адреса n человек. Вывести фамилии людей, живущих в разных городах по одинаковым...

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

Напечатать фамилии двух (любых) жителей из списка S, живущих в разных городах по одинаковому адресу
Доброе время суток у меня трабл с прогой :wall: вот задание type stroka=packed array of...

5
anmartex
...
1733 / 1217 / 917
Регистрация: 12.02.2013
Сообщений: 1,994
23.02.2013, 19:04 2
Аноним31, ваша основная проблема в том, что вы пытаетесь сравнивать строки как в Pascal-е. Для сравнения нужно пользоваться специальными функциями (ну или писать свой велосипед). Вот так должно работать:
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
#include <stdio.h>
#include <string.h>
 
#define N 3
typedef struct
{
   char name[100];
   char city[100];
   char street[100];
   int house;
   int flat;
} t_adds;
 
int main()
{
   t_adds a[N];
   int i, j, f = 0;
   for (i = 0; i < N; i++)
   {
      scanf("%s", a[i].name);
      scanf("%s", a[i].city);
      scanf("%s", a[i].street);
      scanf("%i", &a[i].house);
      scanf("%i", &a[i].flat);
   }
 
   for (i = 0; i < N - 1; i++)
   {
      for (j = i + 1; j < N; j++)
      {
         if ((strcmp(a[i].city, a[j].city) != 0) &&
             (strcmp(a[i].street, a[j].street) == 0) &&
             (a[i].house == a[j].house) &&
             (a[i].flat == a[j].flat))
         {
            printf("%s, %s\n", a[i].name, a[j].name);
            f = 1;
         }
      }
   }
 
   if (f == 0)
   {
      printf("These people absent!");
   }
 
   return 0;
}
1
Аноним31
0 / 0 / 0
Регистрация: 28.05.2012
Сообщений: 5
24.02.2013, 19:53  [ТС] 3
anmartex, спасибо большое!
Вроде бы говорят, что хорошим стилем является все действия со структурами описывать функциями, так ли это?
0
anmartex
...
1733 / 1217 / 917
Регистрация: 12.02.2013
Сообщений: 1,994
24.02.2013, 20:01 4
Цитата Сообщение от Аноним31 Посмотреть сообщение
хорошем стилем является все действия со структурами описывать функциями
Дело даже не в хорошем стиле, это просто жизненная необходимость. И к структурам это не имеет явного отношения. Принцип "разделяй и властвуй". Любая задача разбивается на более мелкие (принцип декомпозиции).
Вы видели монолитные дома? И я нет. Функция - это кирпич, из которого и можно построить дом.

Функции наводят порядок в хаосе алгоритмов (если не ошибаюсь слова Страуструпа)
0
sharpey
365 / 155 / 37
Регистрация: 21.09.2008
Сообщений: 518
28.02.2013, 12:02 5
Цитата Сообщение от anmartex Посмотреть сообщение
Вы видели монолитные дома? И я нет. Функция - это кирпич, из которого и можно построить дом.
Пример крайне неудачный, ибо я такие видел. Здания в деловом районе города Москвы - Сити возводились с 1997 г. по монолитной технологии в скользящей по зданию опалубке (ориентир - мост пешеходный через Москву-реку в районе ВВЦ на Красной Пресне, неподалеку - здание ГосДумы; пролётное строение - металлическая сквозная ферма, треугольная в поперечном сечении, изготовлена на Воронежском заводе мостовых конструкций).
0
anmartex
...
1733 / 1217 / 917
Регистрация: 12.02.2013
Сообщений: 1,994
28.02.2013, 16:41 6
Цитата Сообщение от sharpey Посмотреть сообщение
Пример крайне неудачный, ибо я такие видел.
Да, я уже потом сам сообразил, но не стал отписываться. У меня у самого батя строитель, и я знаю, что это возможно.
0
28.02.2013, 16:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2013, 16:41

Найдите в базе всех жителей, живущих в разных городах по одинаковому адресу.
Есть база данных по жителям красноярского края, содержащая город, улицу, номер дома и квартиры....

Написать программу, определяющую , есть ли 2 человека, живущих в разных городах по одному адресу
Написать программу *Ирония судьбы*, определяющую , есть ли 2 человека, живущих в разных городах по...

Нужно: Вывести всех людей, живущих в городе N Вывести 5 городов с наибольшим населением, упорядочив по убыванию
Доброго времени суток помогите пожалуйста решить задачку: Есть: class City (models.Model): name...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru