Форум программистов, компьютерный форум CyberForum.ru

Удалить из числа вхождение первой цифры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Удаление символов из строки http://www.cyberforum.ru/cpp-beginners/thread788170.html
Условие: Даны натуральное число N, символы s1,...,sn. Удалить из данной последовательности все группы букв вида abcd. Я начинающий программист, вот что у меня получилось: #include <iostream> #include <conio.h> using namespace std; int main () { int n, i; string s; cout<<"Vvedite n"<<endl; cin>>n; cout<<"Vvedite stroku"<<endl;
C++ Защита от дурака. Разбор кода всем здравствуйте. Прошу помощи. такова ситуация, есть код защиты от ввода букв и отбрасывания пробелов, но не могу разобраться, он не мой. помогите разобраться. float zashita() { char si; char s1={""}; int r2=0,r3=0; float kat1; http://www.cyberforum.ru/cpp-beginners/thread788164.html
Возврат значения С++ C++
Hi people! Вот такое задание: 1) Реализовать заданную динамическую структуру данных, с которой можно работать через перегруженные операции. 2) Для демонстрации работы программы необходимо реализовать меню, позволяющее вызывать операции реализованной структуры данных. На экране должна отображаться вся последовательность введенных элементов, над которыми производятся действия. Создайте...
Указателю на базовый класс присвоить адрес производного класса C++
class Point { public: Point(float a=0, float b=0) { x=a; y=b; } protected: float x; float y; };
C++ Текстовый файл/ Отредактировать текст, заменяя в нем повествовательные предложения восклицательными, а восклицательные – вопросительными http://www.cyberforum.ru/cpp-beginners/thread788144.html
Моя задача звучала следующим образом: " Дан текстовый файл. Отредактировать текст, заменяя в нем повествовательные предложения восклицательными, а восклицательные – вопросительными. По нажатию произвольной клавиши выделить последнее отредактированное предложение. " Небольшую трудность составляет именно выделение последнего отредактированного предложения. Мы должны запоминать позицию...
C++ Шаг в 0,5 Вычислить значение функции y={x}^{5}-\sqrt{x} При 0 \leq X \leq 5 c шагом в 0,5 Т.е. x 0 0.5 1 1.5 2 подробнее

Показать сообщение отдельно
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
17.02.2013, 23:33  [ТС]     Удалить из числа вхождение первой цифры
Спасибо за подсказки, хотя мне что подсказывает что хотели чтобы массивы не использовались (ну а коллекции с++ и подавно), но попробую отдать так и узнаю что скажут. Если скажут что таки надо выворачиваться без массивов то я подниму тему, я сам изначально сделал с char массивом и копированием через strncpy, вот так:
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
39
40
41
42
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
/*
* 1. Дано натуральное число n. Удалить из записи числа все вхождения первой цифры.
* Подсчитать кол-во оставшихся цифр в изображении числа.
*/
 
int main()
{
    //считываем число что вводит пользователь
    int number = 0;
    printf("Enter number:\n>> ");
    scanf("%i",&number);
 
    //переводим число в строку
    char buffer[32];
    itoa(number,buffer,10);
 
    //запонимаем цифру которую нам нужно удалять из числа
    char firstSymbol = buffer[0];
 
    //удаляем первую цифру из числа
    strncpy(buffer,buffer+1,strlen(buffer));
 
    //удаляем цифры из числа если цифра совпадает с первой
    int i;
    for( i=0; i<strlen(buffer);i++)
        if(buffer[i] == firstSymbol)//если цифра такая же как и была первая цифра в числе
        {
            strncpy(buffer+i,buffer+i+1,strlen(buffer)-i);//копируем число со сдвигом на 1
            i--;//уменьшаем счётчик так как при сдвиге мы получается "пропустили" одно число
        }
 
    //в конце выводим результат: число после удаления первой цифры и длину числа
    printf("After delete number = %s, number lenght = %i\n",buffer,strlen(buffer));
 
    getchar();
 
    return 0;
}
Но преподавателю это не понравилось, мол первое задание, а тут такие функции что ещё якобы не изучались. В общем бред как всегда, ненавижу задачи из ряда "решить задачу, но не использовать [первое, второе, ... десятое])."
 
Текущее время: 17:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru