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

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

Войти
Регистрация
Восстановить пароль
 
Ymnik
0 / 0 / 0
Регистрация: 24.09.2009
Сообщений: 62
#1

Подскажите что не правильно чему оно не так выводит и по возможности исправьте ошибки вот условие и код программы - C++

06.07.2010, 15:47. Просмотров 516. Ответов 5
Метки нет (Все метки)

Подскажите что не правильно чему оно не так выводит и по возможности исправьте ошибки вот условие и код программы:
Проверить, есть ли во входной строке символов, который состоит из слов, разделенных пробелом, целые числа n , что удовлетворяют условие (условие в вордовому файле) . Для проверки числа использовать функцию. В случае наличия таких чисел напечатать их, а также их количество.

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
30
31
32
33
34
35
36
37
#pragma hdrstop
#include<string.h>
#include <stdio.h>
#include <conio.h>
 
int chusla (char s[50])
{ long int c;
int i=0,j,r=0;
char b[50];
while (s[i]!='\0')
{ j=0;
while ('0'<=s[i] && s[i]<='9' && s[i]!='\0')
{
b[j]=s[i];
j++;
i++;
}
c=b;
if (c*c*c>(500*c*c+10))
{
printf ("\n %s",b);
r++;
}
i++;
}
return r;
}
 
int main(int argc, char* argv[])
{ char s[50];
//Введення рядка
puts ("vvedit ryadok sumvoliv:\n");
gets (s);
printf ("\n u=%d",chusla(s));
getch ();
return 0;
}
0
Вложения
Тип файла: doc Doc1.doc (11.2 Кб, 29 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2010, 15:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Подскажите что не правильно чему оно не так выводит и по возможности исправьте ошибки вот условие и код программы (C++):

Посмотрите пожалуйста задание и код программы. Подскажите, что изменить, запускается, работает, но не правильно - C++ Builder
Вот задание. Дан текст, содержащий от 2 до 40 слов, в каждом из которых от 1 до 6 строчных латинских букв; между соседними словами – не...

Объясните код и исправьте ошибки в каждом фрагменте программы - Pascal ABC
при условии,что нужно выводить каждый элемент последовательности упр.2

Что означает вот этот код ошибки - BSOD
Дорого времени суток! Второй раз ловлю один и тот же bsod на ОС windows 7 ,как произошло...сидел редактировал вордовский документ,бац...

Объясните подробно данный код программы. Знаю что это фильтр а пошагово что к чему не понимаю - C++ Builder
void __fastcall TForm1::suiButton7Click(TObject *Sender) { tdiag -&gt; Filtered = false; tdiag -&gt; Filt = «id_p=« + suiEdit6 -&gt; Text; ...

Заместо русского текста с Localhost кваказябры что не так вот php код - PHP БД
&lt;?php $mysqli = false; function connectDB () { global $mysqli; $mysqli = new mysqli (&quot;localhost&quot;, &quot;root&quot;, &quot;&quot;,...

Не правильно работает не подскажите что не так? - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void Char(int n,int c ) { switch(n) { case 1:...

5
Vladimir616
112 / 112 / 3
Регистрация: 05.07.2009
Сообщений: 224
06.07.2010, 18:41 #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
30
31
32
33
34
35
36
37
38
#pragma hdrstop
#include<string.h>
#include <stdio.h>
#include <conio.h>
 
int chusla (char s[50])
{
    int i = 0, r = 0;
    long int c;
    while(s[i] != '\0')
    {
        if(s[i] >= '0' && s[i] <= '9')
            c = s[i] - '0';
        else
        {
            i++;
            continue;
        }
        if (c*c*c>(500*c*c+10))
        {
            printf ("\n %s", c);
            r++;
        }
        i++;
    }
    return r;
}
 
int main(int argc, char* argv[])
{
    char s[50];
    //Введення рядка
    puts ("vvedit ryadok sumvoliv:\n");
    gets(s);
    printf ("u = %d",chusla(s));
    getch ();
    return 0;
}
0
Ymnik
0 / 0 / 0
Регистрация: 24.09.2009
Сообщений: 62
06.07.2010, 20:23  [ТС] #3
так оно выводит самые нули
0
Vladimir616
112 / 112 / 3
Регистрация: 05.07.2009
Сообщений: 224
06.07.2010, 20:49 #4
Ymnik, самые нули?
0
Ymnik
0 / 0 / 0
Регистрация: 24.09.2009
Сообщений: 62
06.07.2010, 21:46  [ТС] #5
ну в конце выводит u=0 всегда
0
Vladimir616
112 / 112 / 3
Регистрация: 05.07.2009
Сообщений: 224
06.07.2010, 23:27 #6
Ymnik, это потому, что в char-овский массив записывается по одному символу, и число 501 будет выглядеть как 5, 0 и 1. Я мог бы написать правильную программу на С++, но как я понимаю такое тебе не подойдёт, и я просто исправил явные ошибки в коде и подправил алгоритм.
0
06.07.2010, 23:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2010, 23:27
Привет! Вот еще темы с ответами:

Делаю лабораторную работу, написал код программы, принцип думаю верен, а вот с синтаксисом проблемы. Помогите исправить ошибки - C++
делаю лабораторную, написал код программы (принцип думаю верен, а вот с синтаксисом проблемы). Условие отправил в ворде. #include...

Народ гляньте код и подскажите что не так. - C++
Условие: Написать функцию, которая округляет любое вещественное число до определённого количества знаков с математической точностью. ...

Подскажите по сборке, исправьте ошибки! - Игровой компьютер
Доброго всем дня! Оцените сборку, поправьте если, что-то в ней не так. Заранее спасибо! магазин: bagiracomp.ru Комп нужен для игр,...

Одномерный массив. Вот листинг программы, но при запуске выдаёт ошибку 201. Исправьте, пожалуйста - Free Pascal
Дан массив B из n элементов(n&lt;=30). Определить, представляют ли собой элементы массива возрастающую последовательность.( нужно сделать так,...


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

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

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