2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 59
1

Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В

03.06.2011, 13:52. Показов 5352. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В.
Выполнить с использованием указателей и без.

Получилось только матрицу вывести. И то при каждом новом запуске выдает одни и те же значения.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
void main()
{
    const int w=3, l=3;
    int i, j, a[w][l];
    cout << "Matriza: " << endl;
    for (i=0; i<w; i++)
    {
    for (j=0; j<l; j++)
    {
        a[i][j]=rand()%50;
        cout << setw(3) << a[i][j];
    }
    cout << endl;
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2011, 13:52
Ответы с готовыми решениями:

Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В.
Пожалуйста помогите написать прогу на C Переписать первые элементы каждой строки матрицы D(3,3),...

Массив: Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В.
Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В.

Переписать первые элементы каждой строки матрицы А в массив D, если в строке есть элемент больше 13
Переписать первые элементы каждой строки матрицы А(7,3) в массив D, если в строке есть элемент...

Переписать первые элементы каждой стоки матрицы A(n*m) больше C в массив B
Всем доброго времени суток! Необходима помощь в такой задаче: Переписать первые элементы каждой...

13
542 / 447 / 162
Регистрация: 10.12.2009
Сообщений: 1,857
03.06.2011, 14:31 2
подключите
C++
1
#include <ctime>
пропишите в начале кода
C++
1
srand ( time ( 0 ) );
теперь можно использовать rand()
0
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 59
03.06.2011, 15:03  [ТС] 3
Mиxaил, спс. помогло.
0
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 59
06.06.2011, 15:29  [ТС] 4
Смогла родить только это:
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
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <time.h>
 
void main()
{
    const int w=3, l=3;
    int i, j, a[w][l];
    srand ( time ( 0 ) );
    cout << "Matriza: " << endl;
    for (i=0; i<w; i++)
    {
    for (j=0; j<l; j++)
    {
        a[i][j]=rand()%50;
        cout << setw(3) << a[i][j];
    }
    cout << endl;
    }
    int n, b[3];
    for (j=0; j<3; j++)
    {
        for (i=1; i<3;i++)
        {
            if (i>=10) i = n;
            else cout << "Elementi ne naideni!" << endl;
        }
        cout << b[n] << endl;
    }
}
но, разумеется, ничего не получается. Подозреваю, что проблема здесь:
for (j=0; j<3; j++)
{
for (i=1; i<3;i++)
но не пойму, как ее решить.
0
В вечном поиске...
275 / 235 / 30
Регистрация: 05.04.2011
Сообщений: 645
06.06.2011, 16:19 5
C
1
2
3
for (j=0; j<3; j++)
 {
 for (i=1; i<3;i++)
А должно быть:
C
1
2
3
for (j=0; j<3; j++)
 {
 for (i=0; i<3;i++)
0
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 59
06.06.2011, 16:43  [ТС] 6
Цитата Сообщение от Nursik77 Посмотреть сообщение
А должно быть:
нет. не должно.
0
В вечном поиске...
275 / 235 / 30
Регистрация: 05.04.2011
Сообщений: 645
06.06.2011, 16:51 7
Ну я так бегло позырил, подумал может быть вы ошиблись
0
Бродяга
314 / 268 / 56
Регистрация: 27.08.2010
Сообщений: 553
06.06.2011, 17:00 8
Цитата Сообщение от рiece something Посмотреть сообщение
Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В.
C++
1
2
3
4
5
6
7
8
9
j = 0;
for (i = 0; i < w; ++i)
{
    if (a[i][0] > 10)
    {
        b[j] = a[i][0];
        ++j;
    }
}
0
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 59
06.06.2011, 17:44  [ТС] 9
dihlofos, спасибо. немного подправила и заработало.
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
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <time.h>
 
void main()
{
    const int w=3, l=3;
    int i, j, a[w][l];
    srand ( time ( 0 ) );
    cout << "Matriza: " << endl;
    for (i=0; i<w; i++)
    {
    for (j=0; j<l; j++)
    {
        a[i][j]=rand()%50;
        cout << setw(3) << a[i][j];
    }
    cout << endl;
    }
    const int n = 3;
    int b[n]; 
    
    for (i=0; i<n;i++)
        {
            if (a[i][0]>=10) b[n] = a[i][0];
        
            cout << b[j] << endl;
    }
}
Единственно, когда в столбце число меньше 10, в массиве b все равно три числа (повторяет предыдущее).

Но если я не объявляю константу, выдает ошибку.
Миниатюры
Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В  
1
Бродяга
314 / 268 / 56
Регистрация: 27.08.2010
Сообщений: 553
06.06.2011, 18:13 10
рiece something, хм... я только понять не могу, зачем вы так сделали:

C++
1
2
3
4
5
for (i=0; i<n;i++)
{
   if (a[i][0]>=10) b[n] = a[i][0];
      cout << b[j] << endl;
}
Тут же выход за пределы массива b, т.к. n и j равны 3.
Переменные n и j в цикле вообще не меняются, т.е. по идее каждый раз будет писаться в один и тот же элемент b[3] (вернее в область, которая за пределами массива), ну и тут же выводиться на экране. Короче говоря, никакой массив b у вас не заполняется))
0
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 59
06.06.2011, 18:28  [ТС] 11
dihlofos, я сделала, как у вас, но мне выдало 4 ошибки((
0
Бродяга
314 / 268 / 56
Регистрация: 27.08.2010
Сообщений: 553
06.06.2011, 18:37 12
Цитата Сообщение от рiece something Посмотреть сообщение
я сделала, как у вас, но мне выдало 4 ошибки
Странно, а какие? Вот код полностью:
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    const int rows = 3, cols = 3;
    int i, j, a[rows][cols];
    srand (time(0));
    
    cout << "Matriza: " << endl;
    for (i = 0; i < rows; ++i)
    {
        for (j = 0; j < cols; ++j)
        {
            a[i][j] = rand() % 50;
            cout << setw(3) << a[i][j];
        }
        cout << endl;
    }
    
    int b[rows]; 
        
    j = 0;
    for (i = 0; i < rows; ++i)
    {
        if (a[i][0] > 10)
        {
            b[j] = a[i][0];
            ++j;
        }
    }
        
    for (i = 0; i < j; ++i)
    {
        cout << b[i] << endl;
    }
    
    return 0;
}
0
2 / 2 / 0
Регистрация: 10.02.2011
Сообщений: 59
09.06.2011, 12:54  [ТС] 13
Хммм, а как выполнить это задание, используя функции?
1
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 4
10.10.2020, 21:18 14
Цитата Сообщение от dihlofos Посмотреть сообщение
Странно, а какие? Вот код полностью:
У меня тоже ошибки выдавал код, из-за того что изначально были вот такие библиотеки
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
#include <time.h>
затем стало
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime
и был добавлен using namespace std;
и изменена переменная void на int вот и все
0
10.10.2020, 21:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.10.2020, 21:18
Помогаю со студенческими работами здесь

Переписать первые элементы каждой строки матрицы в массив
Переписать первые элементы каждой строки матрицы А(7,3) в массив D, если в строке есть элемент...

Переписать первые положительные элементы каждой строки матрицы Х в массив Y
Переписать первые положительные элементы каждой строки матрицы Х в массив Y. Если в строке нет...

Переписать первые элементы каждой строки матрицы A (m х n), большие С, в массив В
Вот мой вариант задания: Переписать первые элементы каждой строки матрицы A (m х n), большие С, в...

Переписать первые элементы каждой строки матрицы A (m х n), большие С, в массив В
j:=0; while j&lt;=m do begin for i:=1 to n do begin if a&gt;C then begin b:=a; ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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