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

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

Восстановить пароль Регистрация
 
SeregaF1
1 / 1 / 0
Регистрация: 24.12.2009
Сообщений: 12
24.12.2009, 19:43     Четные столбцы матрицы А заменить на вектор Х #1
Люди, срочно, помогите, пожалуйста, составить 2 программы на C:
1) Даны квадратный массив А и вектор Х, соответствующих размерностей. Четные столбцы матрицы А заменить на вектор Х.
2) Дана строка. Удалить из нее последовательность символов, расположенных между круглыми скобками (считается, что в строке ровно одна пара круглых скобок).(Решать с помощью массива).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2009, 19:43     Четные столбцы матрицы А заменить на вектор Х
Посмотрите здесь:

C++ Заменить все четные элементы матрицы числом 0
Даны вещественные матрица Х(15,20) и мас¬сив Y(15). Заменить четные столбцы матрицы на вектор Y C++
C++ Дана действительная матрица А(N*M) и массив В(N).Заменить четные столбцы матрицы на вектор B.
Матрицы. Отсортировать четные столбцы в обратном порядке, а нечетные в прямом C++
C++ В прямоугольной матрице A(m,n) заменить четные столбцы вектором B(m)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 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;
}
SeregaF1
1 / 1 / 0
Регистрация: 24.12.2009
Сообщений: 12
24.12.2009, 19:55  [ТС]     Четные столбцы матрицы А заменить на вектор Х #3
А с квадратным массивом сможешь?
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
24.12.2009, 19:58     Четные столбцы матрицы А заменить на вектор Х #4
Смогу, но это совсем скучно)) Пусть кто-нибудь другой сделает.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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;
}
Yandex
Объявления
24.12.2009, 20:21     Четные столбцы матрицы А заменить на вектор Х
Ответ Создать тему

Метки
Строки
Опции темы

Текущее время: 12:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru