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

Необходимо подсчитать количество строк матрицы, которые не содержат ни одного 0 элемента. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблема с компиляцией (help) http://www.cyberforum.ru/cpp-beginners/thread19376.html
установил С++ 6.0 , но что то проблемный какой то jmu debug > go (v otvet ) this file does not exist. yes want to build it > file not found , koroche zamailsia s etim C++ mojet kto pomojet vot cod #include<stdio.h> #define taille 50 typedef struct samourai { int id;
C++ Что делает оператор >> в C++? кто-нибудь может объяснить что конкретно делает оператор >> в C++. есть один пример. Там используется api-функция GetLogicalDrives. описание: Функция GetLogicalDrives возвращает число-битовую маску в которой храняться все доступные диски. DWORD GetLogicalDrives(VOID); Параметры: Эта функция не имеет параметров. http://www.cyberforum.ru/cpp-beginners/thread19364.html
В одномерном массиве, состоящем из N вещественных элементов, найти сумму первых M элементов массива. C++
ребят срочно нужна помощь по решению задачек по с++ . 1)Даны 4 вещественых числа. Определить мин значение заданных чисел; 2)Даны целые числа C1,С2....,С10. Верно ли, что количество полоэжительных чисел- число четное. 3)В одномерном массиве, состоящем из N вещественных элементов, найти сумму первых M элементов массива. 4) Заполните двумерный массив размером 7x7 след образом: 1000001 ...
Дана вещественная последовательность... C++
Дана последовательность из n вещественных чисел. Первое число в последовательности нечетное. Найти сумму всех идущих подряд в начале последовательности нечетных чисел. непойму задание) может ктонибудь привести пример такой последовательности? и код как её задать.
C++ Сформировать список студентов института http://www.cyberforum.ru/cpp-beginners/thread19353.html
Сформировать список студентов института: факультет, группа, ФИО, домашний адрес, месяц и год рождения. Написать программу определения месяца, в котором родилось максимальное количе¬ство студентов в вашей группе; перевода студентов в другую группу; студентов, родившихся в заданном месяце; студентов заданного года рождения. Если можно напишите пожалуйста фрагмент программы которая создает такой...
C++ пользователь вводит строчку,а программа выводит количество пробелов между словами в строке. :help:Помогите с программой:пользователь вводит строчку,а программа выводит кол-во пробелов между словами в строке. #include "stdafx.h" #include <algorithm> #include <iostream> #include <string> #include <vector> using namespace std; int _tmain(int argc, _TCHAR* argv) подробнее

Показать сообщение отдельно
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
11.01.2009, 02:48     Необходимо подсчитать количество строк матрицы, которые не содержат ни одного 0 элемента.
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
 
#include <stdio.h>
#include <stdlib.h>
 
#define MTXMIN  2   /* минимальное количество строк и столбцов матрицы  */
#define MTXMAX  5   /* максимальное количество строк и столбцов матрицы */
 
int **mtxcreat(int, int);
int **mtxfill(int **, int, int, FILE *);
/* int **mtxprint(int **, int, int, FILE *); */ /* покажет матрицу */
void mtxfree(int **, int);
 
int *veccreat(int);
/* int *vecprint(int *, int, FILE *); */ /* покажет вектор */
void vecfree(int *);
 
int *bubble(int *, int, int);
 
/* запрашивает матрицу и выводит её больший повторяющийся элемент */
main()
{
    int **m, *v, *vp;
    int i, j, nelems, maxrep;
    int nrows, ncells;
    
    printf("How many rows? ");
    if (scanf("%d", &nrows) != 1)
        return 1;
    printf("How many cells in row? ");
    if (scanf("%d", &ncells) != 1)
        return 1;
    if (nrows < MTXMIN
     || ncells < MTXMIN 
     || nrows > MTXMAX 
     || ncells > MTXMAX)
        return 2;   /* если матрица выходит за установленные пределы */
    if ((m = mtxcreat(nrows, ncells)) == NULL)
        return 3;
    printf("Enter matrix [ %d rows x %d cells ]:\n",
        nrows, ncells);
    if ((m = mtxfill(m, nrows, ncells, stdin)) == NULL) {
        mtxfree(m, nrows); /* освободить память из под матрицы */
        return 4;   /* если в матрицу вводятся не числа */
    }    
    /* mtxprint(m, nrows, ncells, stdout); */ /* покажет матрицу */
    if ((vp = v = veccreat((nelems = nrows*ncells))) == NULL) {
        mtxfree(m, nrows); /* освободить память из под матрицы */
        return 5;
    }    
    for (i = 0; i < nrows; i++)   /* перенос элементов матрицы в вектор */
        for (j = 0; j < ncells; j++)
            *vp++ = m[i][j];
    bubble(v, 0, nelems-1);   /* сортировка элементов вектора */
    /* vecprint(v, nrows*ncells, stdout); */ /* покажет вектор всех элементов */
    for (vp = v+nelems-1, maxrep = 0; vp != v; vp--) /* поиск первого повтора */
        if (*vp == *(vp-1)) {
            maxrep = *vp;
            break;
        }    
    printf("%d\n", maxrep);
    vecfree(v);   /* освободить память из под вектора */
    mtxfree(m, nrows); /* освободить память из под матрицы */
    return 0;
}
 
/* mtxcreat:  создаёт матрицу [ m x n ] */
int **mtxcreat(int m, int n)
{
    int **mtx, i;
    
    if ((mtx = (int **) calloc(m, sizeof(int *))) == NULL)
        return NULL;
    for (i = 0; i < m; i++)
        if ((mtx[i] = (int *) calloc(n, sizeof(int))) == NULL) {
            while (--i >= 0)
                free((void *) mtx[i]);
            free((void **) mtx);
            return NULL;
        }
    return mtx;    
}
 
/* mtxfill:  заполняет матрицу mtx [ m x n ] данными из файла ifp */
int **mtxfill(int **mtx, int m, int n, FILE *ifp)
{
    int i, j;
    
    for (i = 0; i < m; i++)
        for (j = 0; j < n; j++) {
            if (fscanf(ifp, "%d", &mtx[i][j]) != 1)
                return NULL;
        }
    return ferror(ifp) ? NULL : mtx;
}
 
/* mtxfree:  удаляет матрицу mtx на m строк из памяти */
void mtxfree(int **mtx, int m)
{
    int i;
    
    for (i = 0; mtx != NULL && i < m; i++)
        free((void *) mtx[i]);
    free((void **) mtx);
}
 
/* veccreat:  создаёт вектор длины n */ 
int *veccreat(int n)
{
    return (int *) calloc(n, sizeof(int));
}
 
/* vecfree:  удаляет вектор v из памяти */ 
void vecfree(int *v)
{
    free((void *) v);
}
 
/* bubble:  сортировка пузырьковым методом */
int *bubble(int *a, int m, int n)
{
    char is = 1;
    int i, c;
    
    while (is) {
        is = 0;
        for (i = m+1; i <= n; i++)
            if (a[i] < a[i-1]) {
                c = a[i];
                a[i] = a[i-1];
                a[i-1] = c;
                is = 1;
            }
    }
    return a;
}
 
/* необязательные элементы, которые можно удалить */
 
/* покажет матрицу */
 
/* mtxprint:  выводит матрицу mtx [ m x n ] в файл ofp */
int **mtxprint(int **mtx, int m, int n, FILE *ofp)
{
    int i, j;
    
    for (i = 0; i < m; i++)
        if (mtx[i] != NULL)
            for (j = 0; j < n; j++)
                fprintf(ofp, "%3d%s",
                    mtx[i][j], (j == n-1 ? "\n" : ""));
    return ferror(ofp) ? NULL : mtx;
}
 
/* покажет вектор */
 
/* vecprint: выводит вектор v длины n в файл ofp */ 
int *vecprint(int *v, int n, FILE *ofp)
{
    while (n--)
        fprintf(ofp, " %d%s",
            *v++, (n == 0 ? "\n" : ""));
    return ferror(ofp) ? NULL : v;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru