Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

under

Програмата работи,но не изкарва нищо.

Препоръчан отговор


#include<stdio.h>int main(){    int a,b,c;    int mas[10];    c=0;    for(b=0;b<10;++b)					 mas[b]=0;    while((a=getchar())!=EOF)							 if(a>='0' && a<='9')									    ++mas[a-'0'];									    else										    ++c;    for(b=0;b<10;++b);    printf("mas=");    printf("%d",mas[b]);    printf("other=%d",c);} 

Програмата трябва да работи безкрайно и да брои, колко пъти са били въведени големи букви,малки букви,цифри,препинателни знаци и други.Отварям я въвеждам вътре букви,знаци,цифри и след това не ми изкарва нищо.Ако може да помогнете или да кажете от какво е.Благодаря,ВИ.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
 ++mas[a-'0'];

Ей това какво изразява?

for(b=0;b<10;++b);    printf("mas=");    printf("%d",mas[b]);    printf("other=%d",c);

Нали ти е ясно, че тялото на цикъла е празно - т.е. нищо не се извършва.

Разпечатването се извършва само веднъж със стойност b = 9.Като цяло не разбрах какво е точното условие на задачата - трябва ли да се разграничават срещанията на малките букви, главните букви, препинателните знаци и цифрите, или просто броиш кой символ е цифра и кой не е.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Няма да е зле да сложиш да отпечатва и индексада е по-прегледно за коя цифра става въпрос

    for(b=0;b<10;++b)         printf("mas[%d]=%dn",b,mas[b]);    printf("other=%dn",c);

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
 ++mas[a-'0'];

Ей това какво изразява?

for(b=0;b<10;++b);    printf("mas=");    printf("%d",mas[b]);    printf("other=%d",c);

Нали ти е ясно, че тялото на цикъла е празно - т.е. нищо не се извършва.

Разпечатването се извършва само веднъж със стойност b = 9.Като цяло не разбрах какво е точното условие на задачата - трябва ли да се разграничават срещанията на малките букви, главните букви, препинателните знаци и цифрите, или просто броиш кой символ е цифра и кой не е.

Просто трябва да брои и да изписва общо след това колко главни букви има,колко малки,символи и цифри.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Само дето не виждам някъде да броиш колко големи букви, колко малки и т.н., а и "колко цифри?" според мене значи общия брой на цифрите, а не да се броят всяка цифра по-отделно - единици, двойки и т.н.


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Само дето не виждам някъде да броиш колко големи букви, колко малки и т.н., а и "колко цифри?" според мене значи общия брой на цифрите, а не да се броят всяка цифра по-отделно - единици, двойки и т.н.

Да общия трябва,а не по отделно.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

използвай  strlen   за    char

    char A[10],B[10];
    printf("A: ");scanf("%s",&A);
    strcpy(B,A);
    int C=strlen(B);
    printf("A= %s is %d words",A,C);

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

×
×
  • Добави ново...