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

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

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

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

09.07.2012, 15:45. Просмотров 1716. Ответов 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++):

Массивы: создать цепочку символов «а» произвольной длины, после которой следует символ «b» - C++
Всем привет! Помогите пожалуйста сделать программу с комментариями! Цепочка символов «а» произвольной длины, после которой...

Строка произвольной длины... - C++
Доброго дня, товарищи! Что-то я подзабыл как сделать на С++ так, чтобы можно было самому вводить строку произвольной длины в ходе...

Из элементов массива А длины 2N получить массивы В и С длины N указанным способом - C++
Из элементов массива А длины 2N получить массивы В и С длины N каждый следующим образом. Выбрать в массиве А два наиболее близких по...

Обработка массивов произвольной длины - C++
помогите, пожалуйста, с программой на С++) Дан массив С=1, с2, &quot;..,&quot; сn] и матрица А. Изменить матрицу А, увеличив каждый элемент,...

Обработка массивов произвольной длины - C++
Дан массив С= и матрица А. Изменить матрицу А, увеличив каждый элемент, который меньше элемента главной диагонали, находящегося с ним в...

Разряженный вектор произвольной длины - C++
Помогите пожалуйста ответить на вопрос:&quot;Определить набор операций и структуру данных для абстрактного типа данных «Разряженный вектор...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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");
}
1
salam
163 / 144 / 12
Регистрация: 10.07.2012
Сообщений: 728
10.07.2012, 10:37 #3
Цитата Сообщение от Dexter_Fl Посмотреть сообщение
Как быть в случаях где такого разрешения нет, т.е. длина произвольна?
бывают ли случаи, когда не стоит использовать STL...
0
Mиxaил
533 / 438 / 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 );
0
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;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2012, 00:06
Привет! Вот еще темы с ответами:

Умножения целых переменных произвольной длины - C++
Стоит такая задача: необходимо написать пограмму на СИ++ умножения целых переменных произвольной длины с использованием операций...

Ввод строки с пробелами произвольной длины - C++
Помогите, пожалуйста. Нужно ввести строку произвольной длины с пробелами и различными символами. Мой код: char *s; s=new...

Разобрать число произвольной длины на цифры - C++
Нужно разобрать число произвольной длины на цифры и вывести их по одному. Всё это в циклах for, while, do while. Пользоваться массивом...

Слово произвольной длины напечатать в виде треугольника - C++
ввести слово произвольной длины и напечатать его в виде треугольника с++


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.07.2012, 00:06
Ответ Создать тему
Опции темы

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