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

Выходит за диапазон

27.06.2011, 18:59. Показов 911. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
ошибка появляется после компиляции при запуске, предыдущее всё работает, до места где нужно вводить с клавиатуры район(самое последнее), пишет :Run-Time Check Failure #2 - Stack around the variable 'd' was corrupted.
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
FILE *y;
struct school 
{int nomber;
char raion[20];
char famdir[20];
int ch_uchen;
int smeni_obuch;
int prof_klass;
char inos[30];}a[11],c,z;
void main()
{int i,j,p;
char *d;
int n;
y=fopen("f.txt", "r" );
printf("\n vvedite n:\n");
scanf("%d",&n);
for (i=0;i<=n;i++)
{
fscanf(y, "%d", &a[i].nomber);
fscanf(y, "%s", &a[i].raion);
fscanf(y, "%s", &a[i].famdir);
fscanf(y, "%d", &a[i].ch_uchen);
fscanf(y, "%d", &a[i].smeni_obuch);
fscanf(y, "%d", &a[i].prof_klass);
}
for (i=0;i<n;i++)
for(j=n;j>i;--j)
if (a[j-1].ch_uchen<a[j].ch_uchen)
{
z=a[j-1];
a[j-1]=a[j];
a[j]=z;
}
printf("\n uporyadocheno po chislu uchenikov\n\n");
for(i=0;i<=n;i++)
{
printf("%d\n", a[i].nomber);
printf("%s\n", a[i].raion);
printf("%s\n", a[i].famdir);
printf("%d\n", a[i].ch_uchen);
printf("%d\n", a[i].smeni_obuch);
printf("%d\n", a[i].prof_klass);
}
//наибольшее число учеников
p=a[1].ch_uchen;
for (i=2;i<=n;i++)
{
if (p<=a[i].ch_uchen)
p=a[i].ch_uchen;
}
for (i=0;i<=n;i++)
if (a[i].ch_uchen==p)
{
printf("%d\n", a[i].nomber);
printf("%s\n", a[i].raion);
printf("%s\n", a[i].famdir);
printf("%d\n", a[i].ch_uchen);
printf("%d\n", a[i].smeni_obuch);
printf("%d\n", a[i].prof_klass);
}
printf("vvedite nazvanie raiona \n");
scanf("%s",&d);
for (i=0;i<=n;i++)
if (a[i].raion==d)
{
printf("%d\n", a[i].nomber);
printf("%s\n", a[i].raion);
printf("%s\n", a[i].famdir);
printf("%d\n", a[i].ch_uchen);
printf("%d\n", a[i].smeni_obuch);
printf("%d\n", a[i].prof_klass);
}
fclose(y);
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.06.2011, 18:59
Ответы с готовыми решениями:

Rand() выходит за диапазон
Две функции: inline void Playing_card::set_random_suit() { std::srand(time(NULL)); suit_ = Card_suit(rand() % spades + clubs);...

Вектор выходит за диапазон
Здравствуйте. :) Как сделать так чтобы вектор не выходил за диапазон? #include &lt;iostream&gt; #include &lt;vector&gt; using...

Обработать выделенный диапазон ячеек, результат записать в смежный диапазон
Напишите в среде Excel макрос, который в выделенном диапазоне ячеек должен выполнять заданные действия и записывать результат в смежную с...

2
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
27.06.2011, 19:29 2
C
1
scanf("%s",&d);
на
C
1
scanf("%s",d);
Кстати, сравнение в строке 68 тоже не должно правильно работать.
0
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
27.06.2011, 19:29 3
SilentGuard,
То что сразу кинулось в глаза:
строка 31:
Цитата Сообщение от SilentGuard Посмотреть сообщение
for(j=n;j>i;--j)
Нужно:
C
1
for(j=n-1;j>i;--j)
Строка 21:
Цитата Сообщение от SilentGuard Посмотреть сообщение
for (i=0;i<=n;i++)
Нужно:
C
1
for (i=0;i<n;i++)
то же самое в строках ниже. Хотя если Вы будете вводить n меньше 11, то выхода за пределы массива не будет.

Дальше:
строка 66:
Цитата Сообщение от SilentGuard Посмотреть сообщение
scanf("%s",&d);
прежде чем считывать строку в char *d, нужно воспользоваться : new char[].

Строка 49:
Цитата Сообщение от SilentGuard Посмотреть сообщение
p=a[1].ch_uchen;
а ведь Вы данные по самой первой школе записали в a[0]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.06.2011, 19:29
Помогаю со студенческими работами здесь

Найти диапазон который соответствует дате и данный диапазон имеет более старшую дату
Добрый день! Подскажите как лучше решить данную задачу - Задача - найти диапазон который соответствует дате(искомого значения) и...

Диапазон чисел - какой диапазон у каждой переменной
все int, можете написать какой диапазон у каждой переменной типа а1= a1 = rand()%7; b1 = rand()%6+4; a2 = rand()%7; b2 =...

Вставить диапазон с 1-го листа на 2-ой и удалить диапазон
Добрый день, всем. Посоветуйте каким образом сделать своеобразную кнопку отмены после вставки диапазона данных. на листе...

Будет ли корректно вычисление random если не указать в скобках диапазон и какой диапазон будет по умолчанию?
Ребят , что будет , если написать s:=random не указывая в скобках диапазона , будет ли корректно вычисление и какой диапазон будет по...

СМА Ariston AWM129EU не выходит на отжим, СМА AWM129 не выходит на отжим после замены проги
После замены электронного модуля на СМА Ariston AWM129EU 08054830(к сожалению, остальная часть цифр канула в лета.., если только специально...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Лучшие практики оптимизации Docker Image
Mr. Docker 13.03.2025
Размер Docker-образа влияет на множество аспектов работы с контейнерами. Чем больше образ, тем дольше его загрузка в реестр и выгрузка из него. Для команд разработки, работающих с CI/ CD пайплайнами,. . .
Вопросы на собеседовании по Docker
Mr. Docker 13.03.2025
Ты сидишь напротив технического специалиста, и вдруг звучит вопрос про Docker Swarm или многоэтапные сборки. Пот на лбу? Не переживай, после этой статьи ты будешь готов ко всему! Эта статья будет. . .
Поиск текста в сносках : замена дефиса на тире или тире на дефис...
РоΜа 13.03.2025
Нужно было найти текст в сносках и заменить. Почему-то метод селекшн не сработал. . . пришлось гуглить. найденный на форумвба код пришлось править. Смысл - заменяет в сносках дефисы и тире на нужные. . . .
Real PATH definitions in bash scripts
jigi33 13.03.2025
Как поймать путь и путь к директории относительно запускаемого файла в BASH 1. поймать путь через вывод $(pwd) 2. более правильно - на основе realpath (см. скриншот)
Django или Flask: что выбрать для веб-разработки на Python
py-thonny 13.03.2025
Django – это высокоуровневый фреймворк, который придерживается философии "всё включено". Он предоставляет разработчику готовые решения для большинства типичных задач веб-разработки: от аутентификации. . .
Непрерывное развертывание в Java с Kubernetes
Javaican 13.03.2025
Чем так привлекателен Kubernetes для развертывания Java-приложений? Этот оркестратор контейнеров позволяет автоматизировать развертывание, масштабирование и управление контейнеризированными. . .
Предотвращение XSS, CSRF и SQL-инъекций в JavaScript
run.dev 13.03.2025
JavaScript занимает первые позиции среди языков веб-разработки, но его распространенность делает его привлекательной целью для злоумышленников. Межсайтовый скриптинг (XSS), межсайтовая подделка. . .
PHP 8: JIT-компиляция и улучшение производительно­сти
Jason-Webb 13.03.2025
PHP никогда не славился своей скоростью. Многие сталкивались с проблемами производительности при работе со сложными вычислениями или обработкой больших объемов данных. Традиционная модель выполнения. . .
Сериализация данных с Apache Avro в Kafka
Javaican 12.03.2025
Apache Kafka стала одним из ключевых решений для работы с большими потоками данных. Однако с ростом объемов передаваемых данных возникает проблема: как эффективно сериализовать и десериализовать. . .
Создание потребителей Kafka с помощью Reactor Kafka
Javaican 12.03.2025
Reactor Kafka — это библиотека, объединяющая Apache Kafka с реактивным программированием на базе Project Reactor. Такое сочетание позволяет строить неблокирующие, асинхронные приложения с контролем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru