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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Dexter_Fl
Сообщений: n/a
#1

Функции и массивы произвольной длины - C++

09.07.2012, 15:45. Просмотров 1600. Ответов 5
Метки нет (Все метки)

Привет! Помогите, пожалуйста, найти ошибку и разобраться с таким типом заданий, где неизвестен размер массива.

В задачнике было указано, что в таких случаях подразумевается массив до максимум 10 элементов.
Поэтому здесь использованы 3 массива из 10 эл-ов. Как быть в случаях где такого разрешения нет, т.е. длина произвольна?

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
/* Описать функцию MinElem(A, N) целого типа, находящую минимальный элемент целочисленного массива A размера N. С помощью 
этой функции найти минимальные элементы массивов A, B, C размера NA, NB, NC соответственно. */
 
#include <iostream>
using namespace std;
int MinElem (extern int A[], int N)
{
    int min = 0;
    for (int i = 0; i < N; i++)
        if (A[i] < min) min = A[i]; // поиск минимума
    return min;
}
void main ()
{
    int len;
    int arr[3][10];
 
    for (int l = 0; l < 3; l++)
        for (int n = 0; n < 10; n++) arr[l][n] = 0;
 
    for (int i = 0; i < 3; i++)
    {
        cin >> len;
        for (int k = 0; k < len; k++) cin >> arr[i][k];
 
        cout << MinElem(arr[i], len) << endl;
    }
    system("pause");
}
Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2012, 15:45     Функции и массивы произвольной длины
Посмотрите здесь:

Строка произвольной длины... C++
Посчитать, сколько слов содержит текст произвольной длины. C++
C++ Ввести строку произвольной длины. Распечатать середину 15 раз.
Умножения целых переменных произвольной длины C++
Массивы: создать цепочку символов «а» произвольной длины, после которой следует символ «b» C++
C++ Ввод строки с пробелами произвольной длины
Разобрать число произвольной длины на цифры C++
C++ Фото для газеты. Количество комбинаций произвольной длины от 1 до N элементов
Слово произвольной длины напечатать в виде треугольника C++
C++ Обработка массивов произвольной длины
Обработка массивов произвольной длины C++
C++ Разряженный вектор произвольной длины

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
09.07.2012, 16:51     Функции и массивы произвольной длины #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main ()
{
    for (int i = 0; i < 3; i++)
    {
        int len;
        
        cin >> len;
        
        int *arr = new int[len];
            
        for (int k = 0; k < len; k++) cin >> arr[k];
         
        cout << MinElem(arr, len) << endl;
        
        delete[] arr;
    }
 
    system("pause");
}
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
10.07.2012, 10:37     Функции и массивы произвольной длины #3
Цитата Сообщение от Dexter_Fl Посмотреть сообщение
Как быть в случаях где такого разрешения нет, т.е. длина произвольна?
бывают ли случаи, когда не стоит использовать STL...
Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
10.07.2012, 10:49     Функции и массивы произвольной длины #4
длину можно вычислить так:
C++
1
2
int arr[] = { 1, 2, 3, 4, 5, 6 };
int sizeArray = sizeof( arr ) / sizeof( *arr );
Dexter_Fl
Сообщений: n/a
10.07.2012, 16:40     Функции и массивы произвольной длины #5
Цитата Сообщение от gooseim Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main ()
{
    for (int i = 0; i < 3; i++)
    {
        int len;
        
        cin >> len;
        
        int *arr = new int[len];
            
        for (int k = 0; k < len; k++) cin >> arr[k];
         
        cout << MinElem(arr, len) << endl;
        
        delete[] arr;
    }
 
    system("pause");
}
Спасибо, как раз new/delete интересовал.
Но программа всё равно выдаёт ноль.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
12.07.2012, 00:06     Функции и массивы произвольной длины #6
C++
1
2
3
4
5
6
7
int MinElem (int A[], int N)
{
    int min = A[0];
    for (int i = 0; i < N; i++)
        if (A[i] < min) min = A[i]; // поиск минимума
    return min;
}
Yandex
Объявления
12.07.2012, 00:06     Функции и массивы произвольной длины
Ответ Создать тему
Опции темы

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