Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/86: Рейтинг темы: голосов - 86, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 11
1

функция atoi

22.12.2011, 21:39. Показов 16881. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Функции атои по идее должна превращать строку в число, но почему то я не могу заставить ее работать коректно, в чем ошибка?
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 "stdafx.h"
#include<conio.h>
#include<iostream>
#include<stdio.h>
#include "stdlib.h"
 
using namespace std;
 
char str[256];
int a[256];
int f[256],i,n;
int main()
{ 
char *p=str;
int s;
cout<<"Enter :\n";
gets(str);
for(i=0;i<strlen(str);i++,p++)
{if(atoi(p)!=0)
a[i]=atoi(p);
}
  for(i=0;i<strlen(str);i++)
  {
 cout<<"\n"<<a[i];
  }
getch();
}
 Комментарий модератора 
Используйте теги форматирования кода!
Миниатюры
функция atoi  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2011, 21:39
Ответы с готовыми решениями:

Проскользывает функция atoi
Дана строка, в ней через пробелы расположены числа. Вывести эти числа в порядке возрастания. Вот...

Не работает функция atoi
Здравствуйте! Прошу помочь. Даю код программы, что не так с функцией atoi ? Программа рисует...

Функция atoi, без использования библиотеки string
функции atoi, без использования библиотеки string

Почему функция atoi возвращает неожиданный результат?
char chislo; int kol_OB; chislo = '2'; chislo = '4'; kol_OB = atoi(chislo); Почему kol_OB =...

5
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 15
22.12.2011, 21:58 2
Во первых вы заполняете массив.
0
Модератор
Эксперт С++
13702 / 10905 / 6472
Регистрация: 18.12.2011
Сообщений: 29,112
22.12.2011, 22:26 3
int n=atoi(str); - строку в число
itoa(n,str,10) - число n в строку str в 10-ичтой системе счисления
0
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 15
22.12.2011, 22:27 4
Во как вариант, просто строка которую ты передаешь в atoi() должна содержать только цифры.
Только подправь библиотеки, а то я на билдере сделал.
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
#include <vcl.h>
#pragma hdrstop
 
 
 #include<conio.h>
 #include<iostream>
 #include<stdio.h>
 #include "stdlib.h"
 
 using namespace std;
 
 char str[256],b[256];
 
 int f,i,n;
int _tmain(int argc, _TCHAR* argv[])
 {
 
 int s;
 cout<<"Enter :\n";
 gets(str);
 
char shabl[]="1234567890";
 
for (unsigned i=0;i<strlen(str);i++){
        for (unsigned g=0;g<strlen(shabl);g++){
                if(shabl[g]==str[i]){b[n]=str[i]; n++;}
         }  }
 
 
  f=atoi(b);
 cout<<"\n"<<f;
 
 getch();
 }
0
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 11
22.12.2011, 23:01  [ТС] 5
мне нужно чтобы там содержались знаки - и +.

Добавлено через 6 минут
[QUOTE=zss2;2318346]int n=atoi(str); - строку в число
itoa(n,str,10) - число n в строку str в 10-ичтой системе счисления[/QUOTE

поясни что представляет собой число n
0
Модератор
Эксперт С++
13702 / 10905 / 6472
Регистрация: 18.12.2011
Сообщений: 29,112
23.12.2011, 20:00 6
[QUOTE=Captain_ru;2318475]
Цитата Сообщение от zss2 Посмотреть сообщение
int n=atoi(str); - строку в число
itoa(n,str,10) - число n в строку str в 10-ичтой системе счисления[/QUOTE

поясни что представляет собой число n
Я же написал
int n;
целое число.
0
23.12.2011, 20:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2011, 20:00
Помогаю со студенческими работами здесь

Функция atoi определяет только первое число ряда символов, а нужно, чтобы считало весь ряд, как это сделать?
Есть масив символов: char s=&quot;1111 2222 3333 4444&quot;; При использовании функции atoi она считает...

atoi
short x char chm; ...цикл, присваиваем chm значение... x = atoi (chm); if ( x &lt; 32768) {...

atoi()
программа элементарная - надо считать строку &quot;x=int1+int2&quot; где int1 и int2 не известные зарание...

atoi не работает!
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; using namespace std; int main(){ ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru