Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] Динамический массив, Операции с динамическим массивом? 
V
    Опции темы
Xenon
Дата 10.4.2007, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 19
Всего: 50



Night_xxx, обижайся не обижайся но, если честно, не самым разумным образом (эти определения/объявления переменных в стиле Паскаль и транслит). Но суть отчасти не в этом, а просто банально в том, что лень копаться. Никто из твоей ошибки трагедии не делает.

Это сообщение отредактировал(а) Xenon - 10.4.2007, 00:04


--------------------
user posted image  
PM MAIL   Вверх
Night_xxx
Дата 10.4.2007, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 7.1.2007
Где: Набережные Челны

Репутация: 0
Всего: 0



Уфффффффф да не было у меня ОШИБКИ 
У меня был НЕ-ДОЧЕТ И БСЕ
PM MAIL   Вверх
popovda
  Дата 10.4.2007, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: нет
Всего: 6



На деле недочет опаснее - его найти труднее.

Самые лучшие ошибки - это синтаксические. Их компилятор ловит smile 

Это сообщение отредактировал(а) popovda - 10.4.2007, 14:14


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
Night_xxx
Дата 10.4.2007, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 7.1.2007
Где: Набережные Челны

Репутация: 0
Всего: 0



Это не тот случай, сделай найти мелкий недочет можно одним взглядом.
PM MAIL   Вверх
Xenon
Дата 10.4.2007, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 19
Всего: 50



Night_xxx, что ты все отмазываешься? Признал бы ошибку и все.


--------------------
user posted image  
PM MAIL   Вверх
Night_xxx
Дата 10.4.2007, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 7.1.2007
Где: Набережные Челны

Репутация: 0
Всего: 0



Бл...................... ты 
Xenon
походу вообще не знаешь че такое ошибка если считаешь что в моей задачке я допустил ошибку не обнулив переменную l.
Да если это по-твоему мнению ошибка, то я тебе сочувствую.
PM MAIL   Вверх
Alexeis
Дата 10.4.2007, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 23
Всего: 459



Модератор: прекращайте оффтоп.
  Старайтесь быть взаимовежливыми.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Russian
Дата 13.4.2007, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 1.4.2007

Репутация: нет
Всего: нет



А что делать, если надо массив заполнить в главной функции, затем передать его в другую функцию, которая уже и считает последние отрицательные элементы?
PM MAIL   Вверх
Xenon
Дата 14.4.2007, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 19
Всего: 50



Код

void count_in_col(int** arr, int n, int m)
{
    for (int i = 0, index = - 1; i < m; ++i) // index = -1 заведомо неверно, так как отрицательных индексов у массивов нет. Если index будет равен -1 после цикла, значит не нашли отрицательных чисел
    {
        for (int j = 0; j < n; ++j) if (arr[j][i] < 0) index = j;
        if (index != - 1) std::cout << i << ") " << index << std::endl;
        index = -1;
    }
}

void count_in_row(int** arr, int n, int m)
{
    for (int i = 0, index = - 1; i < n; ++i)
    {
        for (int j = 0; j < m; ++j) if (arr[i][j] < 0) index = j;
        if (index != - 1) std::cout << i << ") " << index << std::endl;
        index = -1;
    }
}
int main(int argc, char* argv[])
{
    int n = 0; //Количество рядов
    int m = 0; //Количество столбцов
    std::cout << "Enter n: ";
    std::cin >> n;
    std::cout << "Enter m: ";
    std::cin >> m;
    //Создаем массив
    int** arr = new int*[n];
    for (int i = 0; i < n; ++i) arr[i] = new int[m];
    //Заполняем массив
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < m; ++j)
        {
            std::cout << i << ' ' << j << ": ";
            std::cin >> arr[i][j];
        }
    }
    std::cout << "Matrix:\n";
    //Наглядно покажем матрицу
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < m; ++j)    std::cout << arr[i][j] << ' ';
        std::cout << std::endl;
    }
    //Поиск отрицательных чисел в столбце
    std::cout << "In column:\n";
    count_in_col(arr,n,m);
    //Поиск отрицательного числа в строке
    std::cout << "In a row:\n";
    count_in_row(arr,n,m);
    //Удаляем массив
    for (int i = 0; i < n; ++i) delete [] arr[i];
    delete [] arr;
    getchar();
    return 0;
}


Это сообщение отредактировал(а) Xenon - 14.4.2007, 00:59


--------------------
user posted image  
PM MAIL   Вверх
qqqq20007
Дата 16.4.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.4.2007

Репутация: нет
Всего: нет



 smile HELP!!
функция которая находит сумму элементов динамического массива.
PM MAIL   Вверх
Xenon
Дата 16.4.2007, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 19
Всего: 50



Код

#include <iostream>

int summ(int arr[], int size, int sum = 0 )
{
    if(size == 0) return sum;
    sum += arr[size-1];
    summ(arr, --size, sum);
}

int main(int argc, char* argv[])
{
    int size = 0;
    std::cout << "Enter size of array: ";
    std::cin >> size;
    int* arr = new int[size];
    for (int i = 0; i < size; ++i)
    {
        std::cout << i << ") ";
        std::cin >> arr[i];
    }
    std::cout << "Sum of all elements is " << summ(arr, size);
    delete [] arr;
    _flushall();
    getchar();
    return 0;
}




--------------------
user posted image  
PM MAIL   Вверх
qqqq20007
Дата 16.4.2007, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.4.2007

Репутация: нет
Всего: нет



 smile  smile Спасиба!!!   smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0860 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.