|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.12.2008, 19:33 | #1 |
Новичок
Джуниор
Регистрация: 27.11.2008
Сообщений: 2
|
Задача для курсовой
Пожалуйста!!!! Помогите найти ошибку в ходе решения, т. к. программа выдаёт одни нули........ Не обращайте внимания на то, что нет ничего о файлах в тексте программы, я их потом пририсую, когда рабочая часть заработает в штатном режиме
Телефонный номер называется "шахматным", если его цифры набираются на телефонном кнопочном номеронабирателе ходом шахматного коня. Написать программу, подсчитывающую, сколько можно набрать различных шестизначных "шахматных" номеров, начинающихся с заданной цифры. 1 2 3 4 5 6 7 8 9 0 Программа должна выводить полученный номер на экран и в файл output.txt(C++) #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<fstream.h> void st (int g,int m,int n,int i,int j,int c,int d,int k) { if (((i==m+2)&&((j==n+1)||(j==n-1)))&&(g!=(-1))) { c=i; d=j; k++; c++;c--;d++;d--; } if (((i==m-1)&&((j==n+2)||(j==n-2)))&&(g!=(-1))) { c=i; d=j; k++; } if (((i==m-2)&&((j==n+1)||(j==n-1)))&&(g!=(-1))) {c=i; d=j; k++; } if (((i==m+1)&&((j==n-2)||(j==n+2)))&&(g!=(-1))) {c=i; d=j; k++; }; } void main (void) { clrscr(); int a[4][3],i,j,k=1,a0,b,cifra,t,t1,t2,t3,t4,k 1,k2,k3,k4,kolvo=0,c,d,e,f,g,h,a1,b 1,a2,b2,p,q,u,v,w,x,y,z; for(i=0; i<3; i++) for(j=0; j<3; j++) a[i][j]=k++; a[3][0]=0; a[3][1]=-1; a[3][2]=-1; printf("Vvedite ishodnuyu tsifru\n"); scanf("%d",&cifra); for(i=0; i<4; i++) for(j=0; j<3; j++) if (a[i][j]==cifra) { a0=i; b=j; } t=0; k=0; for(i=0; i<4; i++) for(j=0; j<3; j++) { st(a[i][j],a0,b,i,j,c,d,k); if (k>t) { t++; k1=0; t1=0; for(p=0; p<4; p++) for(q=0; q<3; q++) { st(a[p][q],c,d,p,q,e,f,k1); if (k1>t1) { t1++; k2=0; t2=0; for(u=0; u<4; u++) for(v=0; v<3; v++) { st(a[u][v],e,f,u,v,g,h,k2); if (k2>t2) { t2++; k3=0; t3=0; for(w=0; w<4; w++) for(x=0; x<3; x++) { st(a[w][x],g,h,w,x,a1,b1,k3); if (k3>t3) { t3++; k4=0; t4=0; for(y=0; y<4; y++) for(z=0; z<3; z++) { st(a[y][z],a1,b1,y,z,a2,b2,k4); if (k4>t4) { t4++; kolvo++; } } } } } } } } } } printf("Kolichestvo combinatsyi ravno\n%d ",kolvo); getch(); }
Deathstar
Последний раз редактировалось Crazy Jimm; 19.12.2008 в 20:31. |
19.12.2008, 22:26 | #2 |
Форумчанин
Регистрация: 17.12.2008
Сообщений: 250
|
Посмотри здесь с кодом на паскале
http://subscribe.ru/archive/comp.sof.../02004231.html |
20.12.2008, 20:20 | #3 |
Новичок
Джуниор
Регистрация: 27.11.2008
Сообщений: 2
|
Я чёт не врубился, чё они там делали, можно сразу на Turbo C++?
Да и номер там семизначный и положение нуля другое.......................
Deathstar
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Срочно нужны материалы для курсовой. | Ольчик | Свободное общение | 1 | 10.11.2008 12:18 |
Нужна помощ с игрой для курсовой работи. | Alexkr2002 | Помощь студентам | 3 | 10.03.2008 17:47 |
Задача для интеллекта | offmonreal | Общие вопросы C/C++ | 1 | 24.01.2008 22:48 |