Здравствуйте,учусь программировать на с++ пишу прогу для кодирования и дошёл до момента когда буквы заносятся в массив,вот код : #include "stdio.h" #include "locale.h" int main() { char t[20]; int n; int l; int y; setlocale(LC_CTYPE, ".1251"); printf("Сколько букв? "); scanf("%d",&n); for(y=0;y<n;y++) { printf("Введите букву \n"); scanf("%c",&t[y]); } } Почему он не работает?
Code: #include "stdio.h" #include "locale.h" int main() { char t[20]; int n; int l; int y; setlocale(LC_CTYPE, ".1251"); printf("Сколько букв? "); scanf("%d",&n); for(y=0;y<n;y++) { printf("Введите букву \n"); scanf("%c",&t[y]); } [B]return 0;[/B] } Вероятно, ваша функция не возвращает значение?
Нет,не этом дело загвоздка в этой строке: scanf("%c",&t[y]); а если ещё точнее то здесь :"%c" Потому-что если я заменю "%c" на "%d" то все работает не работает из-за вот этого "%c"
%d - это модификатор для ввода десятичного числа. Попробуй модификатор %s PS char t[20] распознается компилятором как строка
Code: #include <stdio.h> int main() { char symbolArray[20]; int numberOfCharacters; int counter; printf("Enter a number of characters."); scanf("%d", &numberOfCharacters); for(counter = 0; counter < numberOfCharacters; ++counter) scanf("%1s", &symbolArray[counter]); printf(symbolArray); return 0; } все работает.
0xF0RD а можно ссылочку где вы скачали данный компилятор?В яндексе искал ничего вразумительного так и не нашёл.
понимаю что всех подзаебал,но ещё вопрос почему не работает,а точнее во вложенных циклах проблема начиная с 60 строчки в конце самом Code: #include "stdio.h" #include "locale.h" int main() { int a[33]; // в a код в б буквы в u слово char b[33]; int i; int r; int n; int l; char t[30]; int k; setlocale(LC_CTYPE, ".1251"); for(i=0;i<33;i++) { a[i]=rand(1,50)*rand(1,34)/rand(3,8); } b[0]='а'; b[1]='б'; b[2]='в'; b[3]='г'; b[4]='д'; b[5]='е'; b[6]='ё'; b[7]='ж'; b[8]='з'; b[9]='и'; b[10]='й'; b[11]='к'; b[12]='л'; b[13]='м'; b[14]='н'; b[15]='о'; b[16]='п'; b[17]='р'; b[18]='с'; b[19]='т'; b[20]='у'; b[21]='ф'; b[22]='х'; b[23]='ц'; b[24]='ч'; b[25]='ш'; b[26]='щ'; b[27]='ъ'; b[28]='ы'; b[29]='ь'; b[30]='э'; b[31]='ю'; b[32]='я'; k=0; printf("Сколько букв? "); scanf("%d",&n); l=n; for(n=0;n<l;n++) { printf("Введите букву \n"); scanf("%1s",&t[n]); } for(n=0;n<l;n++) { for(k=0;k<33;k++){ if(t[n]==b[k]) printf("%c ",t[n]); } } }