Infinite Retrieval
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: #include <stdio.h> #include <conio.h> long xy(int z) { long yx=1; int l=0; while(l<z) { l++; yx= yx*10; } return yx; } int lenth(long b) { int len=0; float k=b; while (k>1) { k/=10; len++; } return len; } int numintomass (int s) { int lenth(); int g[200]; for (int p=0; p<lenth(s); p++) { g[p]= s/xy(p) - s/xy(p+1)*10; } for (int p=0; p<lenth(s); p++) { g[p]= g[lenth(s)-1-p]; } } int main() { int s; printf("Enter the binary number\n"); scanf("%i",&s); getch(); return 0; } | Студия 2008 и ещё один компилятор пишут одну и ту же ошибу в цикле for. студия пишет 1>c:\documents and settings\админ\мои документы\visual studio 2008\projects\my_lab_2\my_lab_2\my_lab_2.c(35) : error C2065: p: необъявленный идентификатор 1>c:\documents and settings\админ\мои документы\visual studio 2008\projects\my_lab_2\my_lab_2\my_lab_2.c(35) : error C2065: p: необъявленный идентификатор Dev-c пишет 29 C:\Dev-Cpp\mic.c 'for' loop initial declaration used outside C99 mode Подскажите, где ошибка??? Добавлено: публикую решению полностью. Переводит из двоичного числа в десятичное. Понимаю, что задача избитая, но почему ошибка?? Да, и C++ не использовать. Код: #include <stdio.h> #include <conio.h> long xy(int z) { long yx=1; int l=0; while(l<z) { l++; yx= yx*10; } return yx; } int lenth(long b) { int len=0; float k=b; while (k>1) { k/=10; len++; } return len; } int numintomass (int s) { int lenth(); long xy(); int g[200]; for (int p=0; p<lenth(s); p++) { g[p]= s/xy(p) - s/xy(p+1)*10; } for (int p=0; p<lenth(s); p++) { g[p]= g[lenth(s)-1-p]; } return g[] } int binintoten (g[]) { lenth(); for(int y,dec=o; y<lenth(s); y++) { dec=dec*2+g[y]; } } int main() { binintoten(); numintomass(); int s,q; printf("Enter the binary number\n"); scanf("%i",&s); q=binintoten(numintomass(s)); printf("%i", q); getch(); return 0; } |
|