Премини към съдържанието
joeybg

Как да реша задачата да ми извежда 0 или 1

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


Здравейте,

имам няколко задачи от един и същи тип и не ми е много ясно как точно трябва да се решат затова се обръщам към вас за помощ.

 

Задачата е:

 

Зададен е едномерен масив от цели числа А0, А1,...,Аn-1. Да се състави програма, която създава нов масив а0, а1,...,аn-1, като аi = 0, ако Аi съдържа цифрата 0, и аi = 1, ако Аi не съдържа цифрата 0.

 

И ето какво съм сътворил :rolleyes:

 

http://pastebin.com/embed_iframe.php?i=qGeyCmEF

 

Ако някой знае как става нека да помага. :)

Редактирано от joeybg (преглед на промените)

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


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

Ако n  > 10 проверката в този си вид не върши много работа , това с кирилицата поне при мене не работи.

using namespace std;#include <iostream>#include <stdlib.h>#include <conio.h>int main(){                system("chcp 1251"); int i,j, n, A[10], a[10];                do {           cout<<"nВъведи брой елементи на масива: : ";            cin>>n;        } while ((n<1)||(n>10));                cout<<"Въведи елементите на масива: "<<endl;        for (i=0;i<n;i++){                cout<<i<<"-я елемент: ";                 cin>>A[i];                a[i] = A[i]!=0;        }        for (i=0;i<n;i++)            cout<<"a["<<i<<"]= "<<a[i]<<endl; system("pause"); }
Редактирано от ined (преглед на промените)
  • Харесва ми 1

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


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

Ако n  > 10 проверката в този си вид не върши много работа , това с кирилицата поне при мене не работи.

Здравейте, 

 

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

В този ред на мисли следния ред:

a[i] = A[i]!=0;

не е напълно правилен.

В случая, запитващия  може да си разпише едно методче, което да проверява дали в записа на числото A се съдържа дадена цифра - примерно:

bool isDigitContained(int numberToCheck, int digit); 

За повече инфо, запитващия нека прегледа това.

 

Поздрави !

  • Харесва ми 2

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


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

Има логика, не бях се замислял че може да му трябва дали числото съдържа 0.

Може да се мине и без голяма промяна като се добави още една проверка;

    a[i] = A[i]!=0;    j = A[i];    while (j) {       if (j%10==0) a[i]=0;       j/=10;    }
Редактирано от ined (преглед на промените)
  • Харесва ми 1

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


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

Здравейте, 

 

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

В този ред на мисли следния ред:

a[i] = A[i]!=0;

не е напълно правилен.

В случая, запитващия  може да си разпише едно методче, което да проверява дали в записа на числото A се съдържа дадена цифра - примерно:

bool isDigitContained(int numberToCheck, int digit); 

За повече инфо, запитващия нека прегледа това.

 

Поздрави !

Точно за bool ме интересуваше как става защото не ми беше ясно, ще се опитам да го напиша тези дни и ще напиша какво е станало, за нулата е така и трябва да бъде с while и като намери 0 да разпечата 0 иначе 1. Ще опитам да го направя с bool и ще пиша след това. Благодаря ви за помощта.


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


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

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.