Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 16.10.2009
Сообщений: 29
1

Необходима помощь на с++,одномерные и двумерные массивы

16.10.2009, 17:20. Показов 1748. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток господа,я мало что понимаю в с++,т.к. начал его изучать всего недели полторы назад,поэтому вынужден обратится за помощью к вам.Вот в чем суть вопроса:
Требуется написать 2 программы, а идей никаких...

1.В исходном массиве определить все триплеты элементов xi, xj, xk, для которых xk равен количеству сочетаний из xj по xi.

2.Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент.
Заранее спасибо за помощь.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.10.2009, 17:20
Ответы с готовыми решениями:

Чем отличаются двумерные и одномерные массивы?
и стоит ли сразу после одномерных и строковых учить двумерные?

Не могу найти ошибку в коде, двумерные и одномерные массивы
# include <iostream.h> # include <iomanip.h> # include <conio.h> # include <fstream.h> # define...

Табулирование функции и поиск данных. Одномерные массивы. Двумерные массивы
Вычислить сумму первых четырех отрицательных элементов. В соответствии с п. 5.16 правил...

Двумерные и одномерные массивы
Салют! Помогите написать програмулину: Сформировать двумерный массив А размером 5х7 с помощью...

17
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
16.10.2009, 17:34 2
По первой задаче поясните эту цитату поподробней.
Цитата Сообщение от iezuit Посмотреть сообщение
xk равен количеству сочетаний из xj по xi
И по второй задаче тоже уточните цитату:
Цитата Сообщение от iezuit Посмотреть сообщение
удаляя из нее строки и столбцы, заполненные нулями.
Полностью заполненные нулями, или удалить хотя бы с одним нулем.
0
1 / 1 / 0
Регистрация: 16.10.2009
Сообщений: 29
16.10.2009, 18:10  [ТС] 3
1,я и сам с трудом понимаю, единственно что могу дополнить так то, что сочитание из xj po xi это xj!/(ki!(xj-xk)!)
2. если исходить из постанрвки, аименнно "заполненные",то скорее всего полностью заполненые нолями.
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
16.10.2009, 18:55 4
Задача 2:
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
58
59
60
61
62
63
64
65
66
67
#include <iostream.h>
#include <windows.h>
int **mas, n, m, i,j, y, temp;
int main ()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Ââåäèòå êîëè÷åñòâî ñòðîê ìàññèâà: "<< endl;
    cin>>n;
    cout<<"Ââåäèòå êîëè÷åñòâî ñòîëáöîâ ìàññèâà: "<< endl;
    cin>>m;
    mas=new int*[n];
    for(i=0; i<n; i++)
       mas[i]=new int[m];
    cout<<"Ââåäèòå ýëåìåíòû ìàññèâà: "<< endl;
    for(i=0; i<n; i++)
       for(j=0; j<m; j++)
       {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>mas[i][j];
       }
    cout<<"èñõîäíûé ìàññèâ"<<endl;
    for(i=0; i<n; i++)
    {
       for(j=0; j<m; j++)
          cout<<mas[i][j]<<"  ";
       cout<<endl;
    }
    for(i=0; i<n; i++)
    {
        temp=0;
        for(j=0; j<m; j++)
            if(mas[i][j]!=0)
                temp=1;
        if(temp==0)
        {
            for(y=i; y<n-1; y++)
                for(j=0; j<m; j++)
                    mas[y][j]=mas[y+1][j];
            n--;
        }
    }
    for(i=0; i<m; i++)
    {
        temp=0;
        for(j=0; j<n; j++)
            if(mas[j][i]!=0)
                temp=1;
        if(temp==0)
        {
            for(y=i; y<m-1; y++)
                for(j=0; j<n; j++)
                    mas[j][y]=mas[j][y+1];
            m--;
        }
    }
    cout<<endl;
    cout<<"Ïîëó÷åííûé ìàññèâ"<<endl;
    for(i=0; i<n; i++)
    {
       for(j=0; j<m; j++)
          cout<<mas[i][j]<<"  ";
        cout<<endl;
    }       
    cout<<endl;
         return 0; 
}
0
1 / 1 / 0
Регистрация: 16.10.2009
Сообщений: 29
16.10.2009, 19:01  [ТС] 5
Премного вам благодарен, теперь засяду разбирать вашу программу, дабы досконально понять как она работает,еще раз спасибо.
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
16.10.2009, 19:15 6
Коментарии нужны?
0
1 / 1 / 0
Регистрация: 16.10.2009
Сообщений: 29
16.10.2009, 19:27  [ТС] 7
Если честно, то да, очень нужны.Дело в том что я встретил мало знакомого, если вас не затруднит не могли бы вы кратко описать ваши действия поэтапно.
П.С.
C++
1
2
cout<<"Введите количество строк массива: "<< endl;
cin>>n;
это судя по всему аналог :
C
1
2
 printf("\nVvedite kol-vo strok massiva");
scanf("%d",&n);
я верно понял?
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
16.10.2009, 19:47 8
Да, действительно,
C++
1
2
cout<<"Введите количество строк массива: "<< endl;
cin>>n;
это аналог :
C
1
2
printf("\nVvedite kol-vo strok massiva");
scanf("%d",&n);
Если хотите еще что-то узнать поподробнее, то лучше пишите мне в личные сообщения, что бы "не засорять эфир" так сказать.
0
8 / 8 / 0
Регистрация: 02.11.2009
Сообщений: 89
04.11.2009, 18:54 9
Не могли бы пояснить откуда начинается решение условия 2, а именно "2.Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент."
И ещё ! Что изменить надо, чтобы перевести данный код на C ???
Спасибо !
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
04.11.2009, 19:06 10
В приведенном коде решается только вторая задача. После ввода элементов массива и вывода их на экран, начинается удаление строк и столбцов массива, содержащие только 0: строка 29-56.
а вот:
Цитата Сообщение от Opiym Посмотреть сообщение
Найти номер первой из строк, содержащих хотя бы один положительный элемент."
это в коде не реализовано. Но если нужно могу сделать.
0
8 / 8 / 0
Регистрация: 02.11.2009
Сообщений: 89
04.11.2009, 19:14 11
Нужно ! )) Если не затруднит конечно !
И как код с C++ языка перевести на C ??? Что поменять ???
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
04.11.2009, 19:25 12
Может сделать сразу на C?
0
8 / 8 / 0
Регистрация: 02.11.2009
Сообщений: 89
04.11.2009, 19:29 13
Было бы вообще СУПЕР !!!
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
04.11.2009, 19:45 14
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <windows.h>
int **mas, n, m, i,j, y, temp;
int main ()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
        printf("Ââåäèòå êîëè÷åñòâî ñòðîê ìàññèâà: \n");
    scanf("%d", &n);
    printf("Ââåäèòå êîëè÷åñòâî ñòîëáöîâ ìàññèâà: \n");
    scanf("%d", &m);
    mas=new int*[n];
    for(i=0; i<n; i++)
       mas[i]=new int[m];
    printf("Ââåäèòå ýëåìåíòû ìàññèâà: \n");
    for(i=0; i<n; i++)
       for(j=0; j<m; j++)
       {
          printf("[%d][%d]= ", i, j);
          scanf("%d", &mas[i][j]);
       }
       printf("èñõîäíûé ìàññèâ\n");
    for(i=0; i<n; i++)
        {
       for(j=0; j<m; j++)
          printf("%3d  ", mas[i][j]);
          printf("\n");
        }
        for(i=0; i<n; i++)
        {
                temp=0;
                for(j=0; j<m; j++)
                        if(mas[i][j]!=0)
                                temp=1;
                if(temp==0)
                {
                        for(y=i; y<n-1; y++)
                                for(j=0; j<m; j++)
                                        mas[y][j]=mas[y+1][j];
                        n--;
                }
        }
        for(i=0; i<m; i++)
        {
                temp=0;
                for(j=0; j<n; j++)
                        if(mas[j][i]!=0)
                                temp=1;
                if(temp==0)
                {
                        for(y=i; y<m-1; y++)
                                for(j=0; j<n; j++)
                                        mas[j][y]=mas[j][y+1];
                        m--;
                }
        }
        printf("\nÏîëó÷åííûé ìàññèâ\n");
        for(i=0; i<n; i++)
        {
       for(j=0; j<m; j++)
          printf("%3d  ", mas[i][j]);
          printf("\n");
        }       
        printf("\n");
        // ïîèñê íîìåðà ïåðâîé èç ñòðîê, ñîäåðæàùèõ õîòÿ áû îäèí ïîëîæèòåëüíûé ýëåìåíò
        temp=-1;
        for(i=0; i<n, temp==-1; i++)
            for(j=0; j<m; j++)
                if(mas[i][j])
                    temp=i;
        if(temp==-1)
            printf("ñòðîê, ñîäåðæàùèõ õîòÿ áû îäèí ïîëîæèòåëüíûé ýëåìåíò, íåò\n");
        else
            printf("â ñòðîêå %d åñòü ïîëîæèòåëüíûé ýëåìåíò\n", temp);
 
         return 0; 
}
1
8 / 8 / 0
Регистрация: 02.11.2009
Сообщений: 89
04.11.2009, 19:57 15
Спасибо конечно !!!!! Но вот что значит 5 и 6 строки ???
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
04.11.2009, 20:59 16
Но вот что значит 5 и 6 строки ???
Вот ссылка:

Русские шрифты в консоли
1
8 / 8 / 0
Регистрация: 02.11.2009
Сообщений: 89
04.11.2009, 21:33 17
Спасибо !
0
4 / 4 / 0
Регистрация: 18.10.2009
Сообщений: 44
12.11.2009, 17:57 18
Люди добрые нужна помощь. я пока что чайник.
УКАЗАТЕЛИ И МАССИВЫ. ФУНКЦИИ
Дана матрица N(6,5). Найти строку с максимальной суммой элементов

Пожалуйста помогите..
0
12.11.2009, 17:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.11.2009, 17:57
Помогаю со студенческими работами здесь

двумерные и одномерные массивы
мне нужно решить все эти задачки если не влом решите пожайлуста.... 1.по двум массивам построить...

Одномерные и двумерные массивы
Здравствуйте! Мне очень нужно что б вы мне помогли в паскале! Я в теме программирования ничего не...

одномерные и двумерные массивы
1)Решить уравнение a*x=b для пяти пар значений a и b, заданных в виде двух массивов. Результат...

Одномерные и двумерные массивы
Задача №1 на двумерные массивы: Расположить элементы данного массива в обратном порядке (первый...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru