Форум программистов, компьютерный форум CyberForum.ru

Напишите программу, которая контролирует индексы, выходящие за пределы массива и генерирует исключения. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Передача массивов в функции http://www.cyberforum.ru/cpp-beginners/thread1097441.html
Добрый вечер, дорогие друзья. Прошу у вас помощи с программой: Методические указания Ввод и вывод массива, а также три пункта задания оформить в виде функций, глобальные переменные не использовать. Размерности массивов вводить в основной функции. Первый массив описать статически (размерность задать константой), второй динамически Все результаты данных функций выводятся в основной функции. ...
C++ Почему не работает? #include <iostream>; #include <cmath>; #include <vector>; using namespace ::std; void main () { vector<double>temps; double temp; int i = 0; while(cin>>temp); http://www.cyberforum.ru/cpp-beginners/thread1097400.html
C++ Что делать с устаревшими инклудами?
Здравствуйте! Понемногу осваиваюсь в VS и сталкиваюсь с тем, что некоторые подключаемые стандартные файлы были заменены и теперь попытки сделать "как раньше" не прокатывают. Сейчас вот столкнулся со подключением хедера #include "stdafx.h" Всё бы ничего, но в VS 2012 такое уже не хляет. Что делать и есть ли где-нибудь полный список подобных изменений?
Для матрицы А(4 строки ,4 столбца) сформировать одномерный массив B из 4 элементов C++
Друзья, может у кого есть исходники? на любом языке программирования, буду очень признателен Для матрицы А(4 строки ,4 столбца) сформировать одномерный массив B из 4 элементов. Каждый элемент Bk, получает значение равное номеру максимального элемента в K-м столбце матрицы А. Для поиска номера максимального элемента в производственном столбце матрицы использовать процедуру.
C++ Определить наименьшее значение сумм Ai + Ai-1 http://www.cyberforum.ru/cpp-beginners/thread1097372.html
Друзья, может у кого есть исходники? на любом языке программирования, буду очень признателен Определить наименьшее значение сумм Ai + Ai-1
C++ Получить массив X1, X2, …. Xn по правилу Друзья, может у кого есть исходники? на любом языке программирования, буду очень признателен Получить массив X1, X2, …. Xn по правилу: Xi = 1, если элемент Аii больше каждого из элементов i-й строки матрицы, иначе Xi= 0. Найти так же сумму элементов матрицы. подробнее

Показать сообщение отдельно
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
15.02.2014, 21:49     Напишите программу, которая контролирует индексы, выходящие за пределы массива и генерирует исключения.
Цитата Сообщение от Владислаучык Посмотреть сообщение
Вопросы: Почему тут катч не работает, с throw тоже не перехватывается, и ещё подскажите плз, функцию возвращающую индекс элемента, есть ли она, и как вообще вывести индекс приведший к сбою
С.Прата Язык программирования С++ - там в теме исключений есть как раз [].
Начнём с того, что у вас исключения не вызывается, точнее вызывается что-то типа index_error - производный объект от базового expection.
вот здесь, надо вызывать как раз объект, по которому генерируется исключение
C++
1
 [quote="Владислаучык;5786180"]catch(int [])[/quote]
т.е. к примеру catch(index_error &obj)
в теле обработки исключения, надо описать его т.е. к примеру выглядеть это будет так:
C++
1
2
3
4
5
catch(index_error &obj) // передаем объект типа index_error по ссылке
{
cout<<"Error! The index of array is not range!";
// тут можно завершить программу exit'ом или продолжить, что угодно
}
само прерывание тоже надо генерировать, т.е. к примеру есть функция getArray - которая возвращает i элемент, тогда
C++
1
2
3
4
5
6
int  getArray(int* m, int i)
{
if (i<0 || i> a)  // a - предел массива
    throw index_error;
return m[i];
}
я настоятельно рекомендую заглянуть в Прата т.к. там это точно есть, я же могу что-то сказать не так ибо сам не так давно только читал про исключения

кстати вы по идее можете перехватывать исключения базовым expecition
 
Текущее время: 18:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru