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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Прошу помочь http://www.cyberforum.ru/cpp-beginners/thread59803.html
Нужно привести програмку в порядок, с первой частью вроде справился, со второй не могу, ошибка С2784. Первая часть: было: float prois(float a, float b, int n) {float pr=1,k=1,l; while(k<=n)...
C++ Теория, Временные объекты Прошу ответить на пару вопросов. Конкретный вопрос: В тексте while (Pos != istream_iterator<string>()) {...} происходит ли создание объекта типа итератор при каждом сравнении или только 1 раз в... http://www.cyberforum.ru/cpp-beginners/thread59802.html
C++ Помогите с лабораторной
Задание Открыть файл, содержащий 10 целых чисел, показать их в диалоге, создать новый файл, записать в него среднее арифметическое этих чисел.
C++ В чём тут ошибка?
Когда запускаю программу, он её выполняет, но после ввода первого имени он зависает о выдаёт ошибку: #include <conio.h> #include <string.h> #include <iostream> using namespace std; class...
C++ Треугольник и точка. http://www.cyberforum.ru/cpp-beginners/thread59744.html
Мне завтра сдавать лабораторну работу в универе, это последний день, а я приехал только сегодня из далека(ездил в гости за 300 км) День сдачи завтра последний, поэтому очень прошу помочь мне... В...
C++ вывод чисел на екран! Составить программу которая выводит десятичные числа от 0 до бесконечности!!! подробнее

Показать сообщение отдельно
Aros
1 / 1 / 0
Регистрация: 29.10.2009
Сообщений: 11

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

29.10.2009, 14:07. Просмотров 442. Ответов 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()'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru