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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
#1

Динамические массивы - C++

23.12.2010, 15:17. Просмотров 1351. Ответов 27
Метки нет (Все метки)

помогите выполнить задание
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
 
void main()
{
    int n,m;
    unsigned int **a;
    int i,j;
    printf("Vvedite n->"); scanf("%d",&n);
    printf("Vvedite m->"); scanf("%d",&m);
    a=new unsigned int*[n];
    for(i=0;i<n;i++)
    {
        a[i]=new unsigned int[m];
    }
    printf("\n\nMASSIV A: \n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            a[i][j]=rand()%50-50;
            printf("%d", a[i][j]);
        }
         printf("\n");
    }
}
вот в этой програме мне нужно число с наибольшим по модулю значенеем заменить на 0 и я не знаю как указать на больший элемент масива по модулю.
и вот в этой програме я незнаю как энтеграл написать
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
void main()
{
        int r;
        unsigned int *b;
        printf(" Vvedite rasmer>");
        scanf("%d", &r);
        printf("\nmassiv A\n");
        b=new unsigned int*[r];
        
        for (int m = n - 2; m >= 1; m *= i, m -= 2)
        {    
            for(int i=0;i<r;i++)
            {
                b[i]=i/!!!!!!!!!;
                printf("%d", b[i]);
        
            
            
        }
    
}
как энтеграл представить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2010, 15:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамические массивы (C++):

Динамические массивы и функции. Динамические массивы. - C++
Дана матрица 6х8 целого типа. Создать одномерный массив, содержащий элементы матрицы, кратные числу, введенному с клавиатуры.

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) - C++
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

динамические массивы - C++
Здравствуйте, Посмотрите ,пожалуйста,задачу! ...

динамические массивы - C++
здравствуйте, посмотрите,пожалуйста, что не так с моим кодом? пробую использовать динамический массив. Но программа работает неправильно....

Динамические массивы - C++
помогите,пожалуйста,над срочно написать прогу))))буду оч благодарна)))))))) 1. Сформировать динамический одномерный массив, заполнить...

Динамические массивы - C++
1. Заданы два массива А(N) и В(M). Подсчитать в них количество отрицательных элементов и первым на печать вывести массив, имеющий...

27
fygaska
4 / 4 / 1
Регистрация: 18.10.2010
Сообщений: 27
23.12.2010, 15:43 #2
И еще вопросик от меня, возможно не по теме:

C++
1
a=new unsigned int *[n];
Что означает эта строчка? Особенно *[n].

я читал, что динамический массив создается примерно так:

C++
1
2
int n = 10;
float *m = new float [n];
1
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
23.12.2010, 16:46  [ТС] #3
это вот
C++
1
a=new unsigned int *[n];
как нас учили якобы выделение памети под n . n должно вводится с клавиатуры вместе с m . сам операт ор new это выделение памяти и чтоб её освободить потом надо писать delete (b gthtvtyye. rjnjhe. yflj cnthtnm)Сам я учусь на 1 курсе нам ничего не обьясняют до всего сам дохожу хорошо люди добрые сдесь помогают) Так что лучше меня не слушать возможно яя сам ошибаюсь. И ещё как я понял учат все по разному нас учат пользоватся printf scanf а паралельную групу другой преподаватель cout и ещё чтото
0
Kill100
405 / 271 / 37
Регистрация: 11.12.2010
Сообщений: 1,156
Завершенные тесты: 1
23.12.2010, 16:50 #4
модуль.
C
1
#include <math.h>
и после чего fabs(x)
где x-число от которого нужно взять модуль...
C++
1
2
3
4
5
6
7
8
9
10
//Функция поиска максимума по модулю
float max(float**a){
float max=a[0][0];
for (int i=0; i<n; i++) {
for (int j=0; j<m; j++){
if (max<fabs(a[i][j])){ max=fabs(a[i][j]);};
};
};
return max;
}
1
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
23.12.2010, 16:54 #5
Цитата Сообщение от fygaska Посмотреть сообщение
я читал, что динамический массив создается примерно так:
Так создается одномерный динамический массив, а так

C++
1
2
3
4
5
6
int **arr;
arr=new int*[m];
for(int i=0; i<m; i++)
{
   arr[i]=new int[n];
}
двумерный массив mxn!!!!

Добавлено через 2 минуты
Цитата Сообщение от Steam.dll Посмотреть сообщение
нас учат пользоватся printf scanf а паралельную групу другой преподаватель cout и ещё чтото
На форуме уже много раз говорилось, что scanf,printf - ето СИшные функции, в то время как cin,cout - функции С++!!!
2
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
23.12.2010, 16:57 #6
Цитата Сообщение от MILAN Посмотреть сообщение
в то время как cin,cout - функции С++!!!
Поправка: это не функции, а обекты классов.
cin - обект класса istream
cout - обект класса ostream
1
knkd
37 / 36 / 2
Регистрация: 08.08.2010
Сообщений: 162
23.12.2010, 17:00 #7
Цитата Сообщение от MILAN Посмотреть сообщение
На форуме уже много раз говорилось, что scanf,printf - ето СИшные функции, в то время как cin,cout - функции С++!!!
Вот интересно, есть ли для С++ что-то такое же удобное как printf?
А то вывод форматной строки, с разными форматами (строка, int, double с разной точностью) превращается в простыню кода.
Нет ли чего, похожего хотя бы на python-овский "".format(), чтобы было просто в использовании?
1
asics
Freelance
Эксперт С++
2847 / 1782 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
23.12.2010, 17:03 #8
Цитата Сообщение от knkd Посмотреть сообщение
Вот интересно, есть ли для С++ что-то такое же удобное как printf?
cout чем не устраевает ?
1
knkd
37 / 36 / 2
Регистрация: 08.08.2010
Сообщений: 162
23.12.2010, 17:21 #9
Цитата Сообщение от asics Посмотреть сообщение
cout чем не устраевает ?
Очевидно же что тем, что:
Цитата Сообщение от knkd Посмотреть сообщение
вывод форматной строки, с разными форматами (строка, int, double с разной точностью) превращается в простыню кода.


Добавлю, специфика такова что приходится выводить большое количество данных в текстовом виде, с размещением в колонках.
При этом для выравнивания с текстом (для человекочитаемости) приходится использовать выравнивание под разную ширину поля.
Специфика данных заставляет печатать их с различной точностью после запятой, или в экспоненциальной форме.

Использование cout представляет собой несколько экранов кода, для каждой строки, что совершенно нечитаемо.
1
Kill100
405 / 271 / 37
Регистрация: 11.12.2010
Сообщений: 1,156
Завершенные тесты: 1
23.12.2010, 18:12 #10
ну так есть
C++
1
/t
1
knkd
37 / 36 / 2
Регистрация: 08.08.2010
Сообщений: 162
23.12.2010, 18:32 #11
Цитата Сообщение от Kill100 Посмотреть сообщение
ну так есть
Который по разному отображается в разных редакторах и во многих сбоит, при слишком разной ширине строк?
Отчёты являются технической документацией, со стандартами представления и минимизации возможности разночтения.
Кроме того работа с точностью остаётся.
Получается излишне громоздко, приходится использовать fprintf...
1
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
23.12.2010, 19:31  [ТС] #12
вот как применить
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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
 
int main(void)
{
    int n,m;
    unsigned int **a;
    int i,j;
    printf("Vvedite n->"); scanf("%d",&n);
    printf("Vvedite m->"); scanf("%d",&m);
    a=new unsigned int*[n];
    for(i=0;i<n;i++)
    {
        a[i]=new unsigned int[m];
    }
    printf("\n\nMASSIV A: \n");
    for(i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            a[i][j]=rand()%50-50;
            printf("%d", a[i][j]);
        }
         printf("\n");
    }
     int max(unsigned int **a);
{
     int max=a[0][0];
     for (i=0; i<n; i++) 
     {
         for (j=0; j<m; j++)
         {
     
             if (max<fabs(a[i][j]))
             { 
                 max=fabs(a[i][j]);
             }
         }
     }
return max;
}
    
}
попробывал чтото не работеет 3 ошибки вылетает
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
23.12.2010, 19:36 #13
Цитата Сообщение от Steam.dll Посмотреть сообщение
попробывал чтото не работеет 3 ошибки вылетает
C++
1
2
3
4
if (max<abs(static_cast<int>(a[i][j])))
                         { 
                                 max=abs(static_cast<int>(a[i][j]));
                         }
1
Steam.dll
3 / 3 / 0
Регистрация: 05.11.2010
Сообщений: 131
23.12.2010, 20:24  [ТС] #14
Спасибо но это мне не понятно
static_cast<int> мы не проходили ещё и я не понимаю можно как нибудь сделать это проще
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
23.12.2010, 21:49 #15
Цитата Сообщение от Steam.dll Посмотреть сообщение
Спасибо но это мне не понятно
static_cast<int> мы не проходили ещё и я не понимаю можно как нибудь сделать это проще
C++
1
2
3
4
if (max<abs((int)a[i][j]))
                         { 
                                 max=abs((int)a[i][j]);
                         }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2010, 21:49
Привет! Вот еще темы с ответами:

Динамические массивы - C++
Суть задания такова. Создается динамический массив А, заполняется элементами. Затем создается массив B, куда записываются все элементы...

Динамические массивы - C++
Дана целочисленная матрица размером N. Найти сумму наименьших элементов ее нечетных строк и наибольших элементов ее четных строк. Нужно...

Динамические массивы - C++
Подскажите, как найти в одномерном динамическом массиве номер первого элемента, на котором произошла смена знака?(язык Си)

Динамические массивы... - C++
Помогите пожалуйста.... Дано матрицу размерностью N * М с произвольных многочисленных элементов. Найти элементы, которые по модулю меньше...


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

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

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