Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 24.12.2009
Сообщений: 12
1

Четные столбцы матрицы А заменить на вектор Х

24.12.2009, 19:43. Просмотров 1588. Ответов 4

Люди, срочно, помогите, пожалуйста, составить 2 программы на C:
1) Даны квадратный массив А и вектор Х, соответствующих размерностей. Четные столбцы матрицы А заменить на вектор Х.
2) Дана строка. Удалить из нее последовательность символов, расположенных между круглыми скобками (считается, что в строке ровно одна пара круглых скобок).(Решать с помощью массива).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2009, 19:43
Ответы с готовыми решениями:

Дана действительная матрица А(N*M) и массив В(N).Заменить четные столбцы матрицы на вектор B.
Прошу помочь решить задачки!:(очень нужно (Билет №26) Дана действительная матрица А(N*M) и...

Даны вещественные матрица Х(15,20) и мас¬сив Y(15). Заменить четные столбцы матрицы на вектор Y
Даны вещественные матрица Х(15,20) и мас¬сив Y(15). Заменить четные столбцы матрицы на вектор Y.

В прямоугольной матрице A(m,n) заменить четные столбцы вектором B(m)
7.10.2. Помогите, пожалуйста, решить задачу в С++. В прямоугольной матрице A(m,n) заменить...

В квадратной целочисленной матрице заменить чётные столбцы на вектор X
Дан массив размером n*n, элементы которого целые числа. Четные столбцы таблицы заменить на вектор...

4
576 / 570 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
24.12.2009, 19:50 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

#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
#include <stdio.h>
 
enum { IN, OUT };
 
int main(void)
{
    char s[4096];
    int i, j, state;
 
    printf("Enter string: ");
    if(fgets(s, sizeof(s), stdin) == NULL || *s == '\n')
        return 1;
 
    state = OUT;
    for(i = j = 0; s[i] != '\0'; i++)
        if(s[i] == '(')
            state = IN;
        else if(s[i] == ')')
            state = OUT;
        else if(state == OUT)
            s[j++] = s[i];
    s[j] = '\0';        
    printf("Result: %s", s);
    return 0;
}
1
1 / 1 / 0
Регистрация: 24.12.2009
Сообщений: 12
24.12.2009, 19:55  [ТС] 3
А с квадратным массивом сможешь?
0
576 / 570 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
24.12.2009, 19:58 4
Смогу, но это совсем скучно)) Пусть кто-нибудь другой сделает.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10879 / 6769 / 1620
Регистрация: 25.07.2009
Сообщений: 12,485
24.12.2009, 20:21 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Gravity Посмотреть сообщение
Пусть кто-нибудь другой сделает.
Ну ладно, я за него...
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 <stdio.h>
#include <stdlib.h>
#include <time.h>
    
#define ROWLEN 10
    
int main(void){
    int arr[ROWLEN][ROWLEN], vec[ROWLEN];
    size_t i, j;
    
    srand(time(NULL));
    /* Значения вектора - случайные отрицательные числа */
    for ( i = 0; i < ROWLEN; ++i )
        vec[i] = ( rand() % ROWLEN + 1 ) * -1;
    /* Значения матрицы - случайные числа, отличные от 0 */
    for ( i = 0; i < ROWLEN; ++i )
        for ( j = 0; j < ROWLEN; ++j )
            arr[i][j] = rand() % ROWLEN + 1;
    
    /* Вывод значений матрицы и массива */
    printf("\nArray:\n");
    for ( i = 0; i < ROWLEN; ++i )
        for ( j = 0; j < ROWLEN; ++j )
            printf( ( j < ROWLEN - 1 ) ? "%3d " : "%3d\n", arr[i][j]);
    
    printf("\nVector:\n");
    for ( i = 0; i < ROWLEN; ++i )
        printf( ( i < ROWLEN - 1 ) ? "%d " : "%d\n", vec[i]);
            
    /* А вот тут загвоздка... Учитывая, что первый ряд, или столбец имеет индекс 0, а второй - 1
        сделал так, как сделал. При необходимости j = 1 на j = 0 поменяйте. */
    for ( j = 1; j < ROWLEN; j += 2 )
        for ( i = 0; i < ROWLEN; ++i )
            arr[i][j] = vec[i];
            
    printf("\nProcessed Array:\n");
    for ( i = 0; i < ROWLEN; ++i )
        for ( j = 0; j < ROWLEN; ++j )
            printf( ( j < ROWLEN - 1 ) ? "%3d " : "%3d\n", arr[i][j]);
    
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2009, 20:21

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как перевернуть четные столбцы матрицы?
Вот программа переворота четных строк: #include &lt;iostream&gt; int main() { const int M =...

Заменить в исходной матрице столбцы с положительным элементом побочной диагонали на вектор х
вот моя программа , но без этого задания, прошу помощи. include &quot;stdafx.h&quot; #include &lt;cmath&gt;...

Матрицы. Отсортировать четные столбцы в обратном порядке, а нечетные в прямом
Пожалуйста, помогите написать программу на С++ Программа Visual studio 2012 (Если важно) Дана...

Отсортировать четные столбцы матрицы по убыванию, нечетные по возрастанию (сортировка Шелла)
Богом прошу, помогите! Совершенно запутался. Необходимо: сортировкой Шелла с шагом d = N/2^i...


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

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

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