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

C для начинающих

Войти
Регистрация
Восстановить пароль
 
appledroid
0 / 0 / 0
Регистрация: 24.03.2013
Сообщений: 6
#1

Цифры в результирующей матрице вывести задом наперед - C (СИ)

15.04.2013, 11:02. Просмотров 326. Ответов 0
Метки нет (Все метки)

всем привет! прошу помощи в решении задачи! значит смысл в том, чтобы цифры в результирующей матрице выводились задом на перед 1234 12 34 ->4321 21 43! исходное задание: из входного потока вводится непрямоуголная матрица целых чисел [Aij], i=1,....,m, j=1,....,Ni. Значение M и Ni заранее не известны и вводятся из входного потока.
Сформировать новую матрицу, поместив ее i-ую строку числа из i-ой строки исходной матрицы, в которых цифры записаны в обратном порядке. Исходную и полученую матрицы вывести в выходной поток с небольшими комментариями.
преподователь говорит использовать алгоритм деления с остатком на 10.
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
 
#define TRUE    1
#define FALSE   0
 
#define MAX     200
#define MIN     100
 
typedef struct _tArray {
    int *v;
    int n;
} tArray;
 
int input_array(tArray **a);
void output_array(const char *msg, tArray *a, int m);
void output_vector(const char *msg, int *v, int n);
void *dispose(tArray **a, int m);
int on_error_input(const char *msg, int _isPositive);
void res_matrix(tArray *a, int m);
 
int main()
{
    int m;
    tArray *a = NULL;
 
    m = input_array(&a);
    output_array("\n- Source array\n", a, m);
 
    res_matrix(a, m);
 
    dispose(&a, m);
 
    printf("Press any key to exit...\n");
    return 0;
}
 
//sort po a[i].v[0], a[i]
 
void res_matrix(tArray *a, int m) {
    int i, j, k, r;
    int *c = (int *)malloc(m*sizeof(int));
 
    for(i=m-1; i>0; i--) {
        for(j=0; j<i; j++) {
            if (a[j].v[0] > a[j+1].v[0]) {
                c = a[j].v;
                a[j].v = a[j+1].v;
                a[j+1].v = c;
                r = a[j].n;
                a[j].n = a[j+1].n;
                a[j+1].n = r;
            }
        }
    }
 
    output_array("\n- Result array\n", a, m);
}
 
 
 
int input_array(tArray **a) {
    int n, i, j;
    tArray *p = NULL;
 
    n = on_error_input("Input num of vectors: ", TRUE);
 
    p = (tArray *)malloc(n*sizeof(tArray));
    for(i=0; i<n; ++i) {
        printf("Num of items of vector #%d ", i+1);
        p[i].n = on_error_input(": ", TRUE);
        p[i].v = (int *)malloc(p[i].n*sizeof(int));
 
        for(j=0; j<p[i].n; ++j)
        {
 
           p[i].v[j] = on_error_input("", FALSE);
        }
    }
 
    *a = p;
    return n;
}
 
 
int on_error_input(const char *msg, int _isPositive)
{
    int n;
    while(TRUE) {
        printf("%s", msg);
        if (!scanf("%d", &n)) {
            printf("Error of format. Please try again.\n");
            continue;
        }
        if (_isPositive && n<0)
            printf("Error of format. Num can't be negative. Please try again\n");
        else break;
    }
 
    return n;
}
 
 
void output_array(const char *msg, tArray *a, int m) {
    int i;
    printf("%s", msg);
    for(i=0; i<m; ++i) {
        output_vector("-", a[i].v, a[i].n);
    }
}
 
 
void *dispose(tArray **a, int m) {
    int i;
    for(i=0; i<m; ++i)
        free((*a)[i].v);
 
    free(*a);
    *a = NULL;
 
    return (void *)NULL;
}
 
void output_vector(const char *msg, int *v, int n) {
    int j;
    printf("%s", msg);
    for(j=n; n>0; j--)
        printf("%4d ", v[j]);
    printf("\n");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 11:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Цифры в результирующей матрице вывести задом наперед (C (СИ)):

Вывести строку на экран задом наперед - C (СИ)
Всем доброго времени суток! У меня завтра гос.экзамен, на котором будут практические задания в с++. Я в этом деле, как бы выразится по...

Выбрать все строки из файла, содержащие искомую подстроку, и вывести их на стандартный вывод задом наперед - C (СИ)
Здравствуйте. Мне нужно было сделать программу-поисковик по файлу. Задача была следующая. Есть текстовый файл неопределенной длины....

Хранение пароля задом наперед - C (СИ)
Помогите мне нужно сделать пароль в файле должен храниться задом наперед вот файл test 1234 user 12345 а надо что бы было...

Переписать исходный текстовый файл в результирующий задом наперед - C (СИ)
Написать программу, которая переписывает исходный текстовый файл в результирующий задом наперед. И еще 1 условие файл должен задаваться...

Переписать исходный текстовый файл в результирующий переворачивая все слова задом наперед - C (СИ)
Осталась последняя лабораторная, но у меня никак не получается написать программу... Задача: Файл содержит некоторый набор символов....

Целое десятичное преобразовать в двоичное, записать задом-наперед и перевести обратно в десятичное - C (СИ)
Всем привет Пожалуйста помогите разобраться Целое положительное число m записывается в двоичной системе счисления, и разряды в этой...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2013, 11:02
Привет! Вот еще темы с ответами:

Задать строковую переменную, вывести на экран "задом наперёд", использую для этого класс stack - C (СИ)
Помагиьте пожалуйста Задать строковую переменную, вывести на экран &quot;задом наперёд&quot;, использую для этого класс stack

Вывести на печать 3-х значные числа, которые делятся на свои цифры и перевертыш этого числа тоже делится на свои цифры - C (СИ)
Вывести на печать 3-х значные числа, которые делятся на свои цифры и перевертыш этого числа тоже делится на свои цифры.

Вывести на печать 3-х значные числа, которые делятся на свои цифры и перевертыш этого числа тоже делится на свои цифры - C (СИ)
здравствуйте. мне попалась одна задачка с перевертышем, раньше с таким не сталкивался и появились затруднения. Вывести на...

Задом наперед записать только цифры, а буквы не учитывать - C++ Builder
Ребятаааа, помогите, у меня есть программа: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; using namespace std; FILE *fp; void...


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

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

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