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

Корректность ввода размера массива - C++

Восстановить пароль Регистрация
 
andrewgss
Сообщений: n/a
24.03.2013, 23:58     Корректность ввода размера массива #1
Помогите написать код на c++
Условие:
Напишите программу проверяя корректность ввода размера массива. Проверьте работу программы на контрольном примере. Дан массив, содержащий m строк и n столбцов. Определить среднее арифметическое отрицательных чисел строки массива.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2013, 23:58     Корректность ввода размера массива
Посмотрите здесь:

C++ Проверить корректность ввода
Передача массива структур в функцию не указывая размера массива C++
C++ Задан вещественный массив размера N. Создать целочисленный массив такого же размера, в котором будут записаны индексы исходного массива в порядке во
C++ Напишите программу, проверяя корректность ввода размера массива
C++ Проверить корректность ввода элементов матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
25.03.2013, 00:08     Корректность ввода размера массива #2
В чем проблема? Проверяй при вводе в цикле, чтоб каждый размер был больше 1.
Ded_Vasilij
 Аватар для Ded_Vasilij
229 / 211 / 15
Регистрация: 01.09.2012
Сообщений: 2,103
25.03.2013, 00:09     Корректность ввода размера массива #3
поиск для этого есть, ваша задача не уникальна, их тут не меньше сотни решено...
ладно, держи рабочий модуль, дописать одну функцию думаю не проблема

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
#include <iostream>
using namespace std;
 
void del_matrix(int** &matrix, int size) //освобождение памяти выделенной под массив
{
    for (int i = 0; i < size; i++)
    {
        delete [] matrix[i];
    }
    delete [] matrix;
    matrix = 0;
}
 
int ** new_matrix(int size)  // выделение памяти под целочисленный массив n*n
{
    int** matrix = 0;
    int i = 0;
    try 
    {
        matrix = new int* [size];
        for (; i < size; i++)
        {
            matrix[i] = new int [size];     
        }
        return matrix;
    }
    catch(bad_alloc e)
    {
        cerr << e.what();
        del_matrix(matrix,i);
    }
}
 
void cin_matrix(int** matrix, int size)//ввод матрицы
    /*int** matrix - двумерный динамический массив
    int size - размер матрицы
    */
{
    for (int i = 0; i < size; i++)
        for (int j = 0; j < size; j++)
        {
            cin >> matrix[j][i];
        }
    cout << endl;
}
 
void print_matrix(int** matrix, int size) //вывод матрицы
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
        {
            cout << matrix[j][i] << " ";
        }
        cout << endl;
    }
}
здесь проверка памяти есть, захочешь - разберешься
Banddk
37 / 37 / 1
Регистрация: 08.12.2012
Сообщений: 157
Записей в блоге: 1
25.03.2013, 00:26     Корректность ввода размера массива #4
int mass=new(nothrow) int[size];//Создание динамического массива
if(mass==0){
cout<<"Проблема с выделением памяти";
}
Можно так
Yandex
Объявления
25.03.2013, 00:26     Корректность ввода размера массива
Ответ Создать тему
Опции темы

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