|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
27.02.2012, 13:08 | #1 (permalink) |
Новичок
Регистрация: 27.02.2012
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Создал программу, ошибку не могу найти
Буддийские монастыри Японии периода Нара ( Название,Школа,Количество монахов,Площадь земель(га) ) #include <stdio.h> #include <string.h> #include <iostream> /* Описание структуры, которая представляет монастырь */ struct mon { char name[15]; /* название */ char sc; /* школа */ int cnt; /* количество монахов */ float sq; /* площадь */ } mm[3]; /* определение массива монастирей */ int main(void) { setlocale(LC_ALL,"Russian"); struct mmm; /* рабочая переменная */ int n; /* количество элементов в массиве */ int i, j; /* текущие индексы в массиве */ int m; /* индекс минимального элемента */ float sqx;/* рабочая переменная */ /* Ввод данных */ for (n=0; n<3; n++){ printf("%d. Введите: название, школу, количество, площадь >", n+1); scanf("%s",&mm[n].name); if (!strcmp(mm[n].name,"***")) break; scanf("%s",&mm[n].sc); scanf("%d",&mm[n].cnt); /* Внимание! Мы обходим ошибку в системе программирования */ scanf("%f",&sqx); mm[n].sq=sqx; } /* Вывод таблицы */ printf("---------------------------------------------\n"); printf("|Буддийське монастыри Японии периода Нара |\n"); printf("|--------------------------------------------|\n"); printf("| Название | Школа |Количество| Площадь |\n"); printf("| | | монахов | земель(га) |\n"); printf("|-----------|-------|----------|-------------|\n"); /* вывод строк фактических данных */ for (i=0; i<n; i++) printf("| %9s | %c | %3d | %-5.1f |\n", mm[i].name,mm[i].sc,mm[i].cnt,mm[i].sq); printf("---------------------------------------------\n"); /* сортировка массива */ for (i=0; i<n-1; i++) { m=i; /* минимальный элемент - первый */ for (j=i+1; j<n; j++) /* если текущий элемент > минимального, он становится минимальным */ if (strcmp(mm[m].name,mm[j].name)>0) m=j; if (m>i) { /* перестановка первого и минимального элементов */ strcpy(mm[n].name,mm[i].name); mm[n].sc=mm[i].sc; mm[n].cnt=mm[i].cnt; mm[i].sq=mm[i].sq; strcpy(mm[i].name,mm[m].name); mm[i].sc=mm[m].sc; mm[i].cnt=mm[m].cnt; mm[i].sq=mm[m].sq; strcpy(mm[m].name,mm[i].name); mm[m].sc=mm[i].sc; mm[m].cnt=mm[i].cnt; mm[m].sq=mm[i].sq; } } /* Вывод таблицы */ printf("---------------------------------------------\n"); printf("|Буддийське монастыри Японии |\n"); printf("|--------------------------------------------|\n"); printf("| Название | Школа |Количество| Площадь |\n"); printf("| | | монахов | земель(га) |\n"); printf("|-----------|-------|----------|-------------|\n"); for (i=0; i<n; i++) printf("| %9s | %c | %3d | %-5.1f |\n", mm[i].name,mm[i].sc,mm[i].cnt,mm[i].sq); printf("---------------------------------------------\n"); system("pause"); } вот мой код но, почему то вот такакя таблица получается в по тем данным что я ввел в чем проблема ? |
27.02.2012, 13:08 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Похожие топики были созданы ранее, они могут вам хорошо помочь Помогите найти ошибку Помогите найти ошибку Не могу найти программу... Не могу найти программу в компе Не могу найти программу для востановления Kingston 4gb Помогите найти ошибку |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|