Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
#1

Вывести чётные числа строки - C++

25.12.2012, 20:28. Просмотров 341. Ответов 6
Метки нет (Все метки)

Числа то выводит,но когда ввожу например ввожу 12 выводит 2...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <string>
#include <stdio.h>
#include <locale>
using namespace std;
 
 
int _tmain()
{char s1[]="1 2 3 4 5 6 7 8 9 ";
    char b;
int i,q;
cout<<"Stroka:"<<" "<<s1<<endl; 
cout<<"Resultad"<<endl;
 for (i=0;i<strlen(s1);i++)
{ 
    if (s1[i]!=32)
    {
        b=s1[i];
        q=atoi(&b);
         if (q%2==0)
        cout<<q<<endl;
    }
}
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 20:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести чётные числа строки (C++):

Дана строка, содержащая целые числа. Вывести на экран только чётные числа - C++
я накидала код...но что-то тут не ладное((( #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cstdlib&gt; #include &lt;stdio.h&gt; using...

Дано N чисел, вывести количество чётные числа - C++
Дано N чисел, вывести количество чётные числа.

Вывести все чётные числа между а и b в прямом и обратном порядке - C++
Вывести на экран все чётные числа между а и b в прямом и обратном порядке. В С++

Сформировать одномерный массив целых чисел. Выбрать все чётные числа. Вывести на экран - C++
Сформировать одномерный массив целых чисел. Выбрать все чётные числа. Вывести на экран.

Как из строки удалить все нечетные слова, а все чётные вывести перевернутыми? - C++
Подскажите пожалуйста, я не понимаю, как удалить нечётные слова из строки. Возможно, кто-то сможет написать пример или скинуть статью где...

Ввести строку текста (содержащую как слова так и числа), вывести все числа из данной строки - C++
Ввести ленту произвольной длины, которую будем трактовать как текст, в котором слова отделены одним или несколькими пробелами (длина слов,...

6
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
25.12.2012, 20:35 #2
Цитата Сообщение от faLek Посмотреть сообщение
Числа то выводит,но когда ввожу например ввожу 12 выводит 2...
а что должно вывести?
0
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
25.12.2012, 20:41 #3
Croessmah, как я понимаю - 12.
0
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
25.12.2012, 20:49  [ТС] #4
должно выводить все нечётные числа строки,у меня выводит,но до 8,когда ввожу число например 16,будет выводить 6 только,а не 16...
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
25.12.2012, 21:08 #5
Как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <cstdlib>
using namespace std; 
 
 
int main(){
    char *str="  4 34 34 45 65 567657 56 567 565 454 343 4565 567 8   ";
    char *strtemp=new char[strlen(str)+1];
    strcpy(strtemp,str);
    char *sub;
    int num;
 
    if (!(sub=strtok(strtemp," "))){
        std::cout<<"Error"<<std::endl;
        system("pause");
        return 0;
    }
    do{
        num=atoi(sub);
        if(!(num%2))
            std::cout<<num<<"\n";
    }while(sub=strtok(NULL," "));
    std::cout<<std::endl;
    delete [] strtemp;
    std::system("pause");
    return 0;
}
1
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
25.12.2012, 21:12  [ТС] #6
Спасибо,но ещё было бы неплохо,что нужно сделать,чтобы любы чётные числа выводить.
0
UserAK
73 / 73 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
26.12.2012, 00:38 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main(){
    char str[]="  4 34 34 45 65 567657 56 567 565 454 343 4565 567 8   ";
    char *token = strtok(str, " ");
    int num;
    while(token != NULL){
        sscanf(token, "%d", &num);
        if(num%2 == 0){
            cout<<num<<endl;
        }
        token = strtok(NULL, " ");
    }
    system("pause");
    return 0;
}
0
26.12.2012, 00:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 00:38
Привет! Вот еще темы с ответами:

Чётные числа-массив - C++
#include &lt;iostream&gt; using namespace std; int main() { int n, a, i; cin &gt;&gt; n; for(i = 1; i &lt; n; i++) { ...

Перевернуть чётные числа - C++
Почти дописал программу, но она немного не работает... Есть массив, нужно все чётные числа в нём записать после оригинала. Пример: 23 25 56...

Получить третий файл, содержащий чётные строки первого файла и нечётные строки второго файла - C++
Даны два файла, получить третий, содержащий чётные строки первого файла и нечётные строки второго файла. Вообще не имею понятия, как...

Вывести чётные и нечётные элементы - C++
ЗДАСТВУЙТЕ ! не могу понять в чём ошибка,вроде всё правильно... &quot;в матрице а четные элементы разделить на 4,а к нечетным прибавить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru