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

С++ для начинающих

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

Исправьте ошибки что найдете в моей программе. - C++

29.10.2009, 14:07. Просмотров 439. Ответов 3
Метки нет (Все метки)

помогите пожалуйста бедному студенту исправьте пожалуйста ошибки что найдете в моей программе
программа читает матрицу проверяет или элементы непарных строк равняются нулю а парных единице
потом архивирует матрицу записывает в новый массив номер столбца где есть единица а когда
конец строки -1 и выводит значение элемента из заархивованой матрицы на паскале программа работает
исправте ошибки в программе на си на паскале программа работает

но мне нада динамические массиви потому я переделал с паскаля на си

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
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<alloc.h>
#define n 3
 
void readm();
void writem();
void goodbad();
void archm();
void eldearch( );
 
 
 
void main() {
int k,**m,i,*ch; l: k=1;
readm();
goodbad();
for(i=0;i<n;i++){
if (*(ch+i)==1){
k=1;}}
if(k==1){
puts("Matriza Nepravilna!!!");
puts("Neparni ryadki mayut mistiti tilki nuli");
puts("Parni mayut   mistiti tilki 1-zi");
puts("-----------------------------");
goto l;  }
else { puts("Good MAtrix!--------------");
writem();
archm();
eldearch();}}
 
 
int readm()  { int **m,i,j;
m=(int**)calloc(n,sizeof(int*));
puts("Vvedit matrizu------");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("m[%d][%d]",i,j);
scanf("%i",*(*(m+i)+j));
}}}
 
int goodbad()  { int **m,i,j,*ch;
m=(int**)calloc(n,sizeof(int*));
ch=(int*)calloc(n*n,sizeof(int));
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if((i%2)!=0){
if(*(*(m+i)+j)==0){
*(ch+i)=0;} else *(ch+i)=1;}
else
if ((i%2)==0) {
if(*(*(m+i)+j)==1) {
*(ch+i)=0;} *(ch+i)=1;}}}}
 
int writem()
{  int **m,i,j;
puts("-----------------------");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%i",*(*(m+i)+j));
}}puts("----------------------");}
 
int archm(){ int **m,d,*s,i,j;
d=1;
m=(int**)calloc(n,sizeof(int*));
s=(int*)calloc(n*n+n,sizeof(int));
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(*(*(m+i)+j)==1){
*(s+d)=j;d++;}
if(j==n){
*(s+d)=-1;d++;}}}
for(i=0;i<n*n;i++){
printf("  %i  ",*(s+i));}}
 
 
int eldearch(){ int e,q,g,r,i,j,*s;char t;
puts("---------------");
puts("Vvedit nomer ryadka i stovpca v yakomu ye element");
scanf("%i%i",e,q);
q=1;r=1;t='1';
for(i=g;i<n;i++){
if(*(s+i)==-1){
r++;i++;
if(r==e){
if(*(s+i)>0){g++;i++;
if(g==q){
puts("-----------");
printf("a[%d][%d]=%i",e,q,t);
}else t='0';
puts("-----------------");
printf("a[%d][%d]=%i",e,q,t);
}}}}}
помогите!!!


программа на паскале

Pascal
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
program matrixcode;
uses crt;
label l;
 
const n=3;
 
var m:array[1..n,1..n] of integer;
ch: array[1..n*n] of integer; k: integer;
d:integer; s: array[1..n*n+n] of integer;
i,j: integer; a:array[1..n,1..n] of integer;
e,q,r,g:integer;t: char;
 
procedure readm;
begin
writeln('Vvedit Matrizu----------');
for i:=1 to n do begin
for j:=1 to n do begin
read(m[i,j]);
end; readln; end;end;
 
procedure goodbad;
begin
for i:=1 to n do begin
for j:=1 to n do begin
if (i mod 2) <> 0 then begin
if m[i,j]=0 then begin
ch[i]:=0;end else ch[i]:=1;end else
if (i mod 2)= 0 then begin
if m[i,j]=1 then begin
ch[i]:=0;end else ch[i]:=1;end;
end;end;end;
 
procedure writem;
begin
writeln('------------------------------------');
for i:=1 to n do begin
for j:=1 to n do begin
write(m[i,j]:3);
end;writeln; end;writeln('-------------'); end;
 
procedure archm;
begin d:=1;
for i:=1 to n do begin
for j:=1 to n do begin
if m[i,j]=1 then begin
s[d]:=j;d:=d+1; end ;
if j=n then begin
s[d]:=-1;d:=d+1;end;
end;end;
for i:=1 to n*n do begin
write(' ',s[i]);writeln;  end;
end;
 
procedure elementdearch;
begin writeln;
writeln('Vvedit nomer ryadka i stovpza v yakomu ye element----');
readln(e,q);
g:=1;r:=1;t:='1';
for i:=g to n do begin
if s[i] = -1 then begin
r:=r+1;i:=i+1;
if r=e then begin
if s[i]>0 then begin g:=g+1;i:=i+1;
if g=q then begin
writeln('--------------');
writeln('a[',e,',',q,']=',t);end;
end else t:='0';
writeln('--------------');
writeln('a[',e,',',q,']=',t);
end;end;end;end;
 
begin l: k:=0;
readm;
goodbad;
for i:=1 to n*n do begin
if ch[i] = 1 then begin
k:= 1;
end;end;
if k = 1 then begin
writeln('Matriza nepravilna!Error......');
writeln('Neparni ryadki mayut mistiti vsi elementi = 0');
writeln('proceding...---->on begining');
goto l;
end else begin
writeln( 'Good Matrix!------------------->');
writem;
archm;
elementdearch;
end;readkey;
end.
Добавлено через 14 минут
видает такие ошибки type missmatch in redeclaration of 'readm()'
type missmatch in redeclaration of 'writem()'
type missmatch in redeclaration of 'goodbad()'
type missmatch in redeclaration of 'archm()'
type missmatch in redeclaration of 'eldearch()'
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2009, 14:07     Исправьте ошибки что найдете в моей программе.
Посмотрите здесь:

Исправьте ошибки в программе - C++
Программа:Нужно ввести 2 числа и программа должна посчитать их сумму,частное,разделить,умножить и если в знаменателе будет &quot;0&quot;, программа...

исправьте ошибки в программе о рюкзаке - C++
не знаю в чём ошибка. после компиляции выдают не те результаты в конце сам код #include&lt;iostream&gt; #include&lt;conio.h&gt; ...

Что означают переменные в моей программе? - C++
Что означает строчка в программе Data=сh+data, а точнее , что такое ch?

Подскажите что не правильно чему оно не так выводит и по возможности исправьте ошибки вот условие и код программы - C++
Подскажите что не правильно чему оно не так выводит и по возможности исправьте ошибки вот условие и код программы: Проверить, есть ли во...

Помогите исправить ошибки в программе. Не пойму что не так - C++
Помогите пожалуйста понять суть ошибок. 20 ошибок &quot;binary '&lt;&lt;' : no operator defined which takes a right-hand operand of type 'class...

исправьте ошибки - C++
Задание прикрепил, 1 вариант. Вот такой код набрал, как описывает задание, но выдает ошибки, что делать не понимаю. ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.10.2009, 14:09     Исправьте ошибки что найдете в моей программе. #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
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
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<alloc.h>
#define n 3
 
void readm();
void writem();
void goodbad();
void archm();
void eldearch();
 
 
 
int main() {
    int** m,i,* ch, k = 1;
    label:
    readm();
    goodbad();
    for ( i = 0; i < n; i++ ) {
        if ( *(ch + i) == 1 ) {
            k = 1;
        }
    }
    if ( k == 1 ) {
        puts("Matriza Nepravilna!!!");
        puts("Neparni ryadki mayut mistiti tilki nuli");
        puts("Parni mayut mistiti tilki 1-zi");
        puts("-----------------------------");
        goto label;
    } else {
        puts("Good MAtrix!--------------");
        writem();
        archm();
        eldearch();
    }return 0;
}
 
 
void readm() {
    int** m, i, j;
    m = (int**) calloc(n, sizeof(int*));
    puts("Vvedit matrizu------");
    for ( i = 0; i < n; i++ ) {
        for ( j = 0; j < n; j++ ) {
            printf("m[%d][%d]", i, j);
            scanf("%i", *(*(m + i) + j));
        }
    }
}
 
void goodbad() {
    int** m, i, j, * ch;
    m = (int**) calloc(n, sizeof(int*));
    ch = (int*) calloc(n * n, sizeof(int));
    for ( i = 0; i < n; i++ ) {
        for ( j = 0; j < n; j++ ) {
            if ( (i % 2) != 0 ) {
                if ( *(*(m + i) + j) == 0 ) {
                    *(ch + i) = 0;
                } else {
                    *(ch + i) = 1;
                }
            } else if ( (i % 2) == 0 ) {
                if ( *(*(m + i) + j) == 1 ) {
                    *(ch + i) = 0;
                } *(ch + i) = 1;
            }
        }
    }
}
 
void writem() {
    int**   m, i, j;
    puts("-----------------------");
    for ( i = 0; i < n; i++ ) {
        for ( j = 0; j < n; j++ ) {
            printf("%i", *(*(m + i) + j));
        }
    }puts("----------------------");
}
 
void archm() {
    int** m, d, * s, i, j;
    d = 1;
    m = (int**) calloc(n, sizeof(int*));
    s = (int*) calloc(n * n + n, sizeof(int));
    for ( i = 0; i < n; i++ ) {
        for ( j = 0; j < n; j++ ) {
            if ( *(*(m + i) + j) == 1 ) {
                *(s + d) = j;d++;
            }
            if ( j == n ) {
                *(s + d) = -1;d++;
            }
        }
    }
    for ( i = 0; i < n* n; i++ ) {
        printf(" %i ", *(s + i));
    }
}
 
 
void eldearch() {
    int e, q, g, r, i, j, * s;char                                  t;
    puts("---------------");
    puts("Vvedit nomer ryadka i stovpca v yakomu ye element");
    scanf("%i%i", e, q);
    q = 1;r = 1;t = '1';
    for ( i = g; i < n; i++ ) {
        if ( *(s + i) == -1 ) {
            r++;i++;
            if ( r == e ) {
                if ( *(s + i) > 0 ) {
                    g++;i++;
                    if ( g == q ) {
                        puts("-----------");
                        printf("a[%d][%d]=%i", e, q, t);
                    } else {
                        t = '0';
                    }
                    puts("-----------------");
                    printf("a[%d][%d]=%i", e, q, t);
                }
            }
        }
    }
}
Каким обфускатором пользуешься?
Aros
1 / 1 / 0
Регистрация: 29.10.2009
Сообщений: 11
29.10.2009, 15:10  [ТС]     Исправьте ошибки что найдете в моей программе. #3
пасибо счас испробуем

Добавлено через 56 минут
самий лучший обфускатор Aros 1.0.18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2009, 19:06     Исправьте ошибки что найдете в моей программе.
Еще ссылки по теме:

Исправьте ошибки - C++
На 10, 12, 16, 18 строках K, p, N, K соответственно, выдаёт was not declared in this scope. Помогите исправить. #include &lt;iostream&gt; ...

Исправьте ошибки - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void main () { int N,M; int min=0, i, j;//переменные для цикла ...

Помогите найти ошибку в моей программе - C++
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; struct uravn {double a, b, e; void define (double a1=0.0, double b1=0.0,...

В моей программе есть глобальные переменные? - C++
int case_Menu(); void case_First(int ***a, int *height, int *width); void case_Second(int ***a, int *height, int *width); void...


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

Или воспользуйтесь поиском по форуму:
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.10.2009, 19:06     Исправьте ошибки что найдете в моей программе. #4
На "спасибо" жми.
Yandex
Объявления
29.10.2009, 19:06     Исправьте ошибки что найдете в моей программе.
Ответ Создать тему
Опции темы

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