Hеlp С Задачами

Тема в разделе "C/C++/C#", создана пользователем -, 27 дек 2011.

  1. Гость

    Не давно начал изучать язык программирования СИ.Помогите решить пару задач... 2 сутки сижу над ними... В стандартном написании CИ....Я вообще делаю в Dev C++....


    Дано число N. Сколько различных цифр в его десятичной записи?

    --------------------------------------------------------------------------------------------------------------------------------

    Вводиться массив и некоторое число Х. Сколько в массиве интервалов куда попадает заданное число?

    --------------------------------------------------------------------------------------------------------------------------------

    Разработать две функции,одна из которых вводит с клавиатуры набор данных в произвольной последовательности и размещает в памяти в переменном формате. Другая функция читает эти данные и выводит на экран.
    В начале области памяти размещается форматная строка,аналогичная используемой в printf - (%d,%f и %s целое,вещественное и строку соответственно). Сразу же в след за строкой размещается последовательность целых,вещественных и строк в соответствии с заданным форматом
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    1.В чём конкретный вопрос?
    2.Ты пытался решить задачу,что-то не получилось и у тебя в связи с этим возник вопрос.так?=>см.1.
    3.Ты не пытался т.к. не знаешь какого-то теоритеческого вопроса(какие библиотеки подключить например)
    и не нашёл ответ в интернете.=>см.1.
    4.Ты не пытался сам решить и не хочешь даже пытаться?cм.4,5 правил форума (в верху страницы)
     
  3. Гость

    Whatka
    Первую задачу решил....
    Я сейчас сижу и пытаюсь их решить... Во второй задаче я понимаю смысл,но не знаю как применить массив с циклом. Чуть позже либо сделаю её,либо скину часть программы..
    На счет третьей задачи вообще молчу. Динамический массив могу ввести,но не знаю как с ним работать.
     
  4. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
  5. Гость

    2-рая задача. Впринципе толком я пока ничего не написал...Хотя бы совет дайте с чего начать.
    Код (C++):
    #include<stdio.h>
    #include<conio.h>
    main(){
    int str[100];
    int X,i;
    scanf("%i",&X);
    for(i=0;str[i]!='\0';i++){


    }
    printf("%i",i);
    getch();
    return 0;
    }
     
  6. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    начнём так
    что значит интервал попадания числа?это его индекс в массиве?
    если да то что если повторяющийся элемент?
     
  7. Гость

    Ну это попадание числа в интервал. На примерах объяснять не буду. Это и так понятно. Пришел к тому,что нужно воспользоваться

    Код (C++):
    X>=str[i]  &&   X<=str[i+1]
     
  8. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    :google:

    нет не понятно

    причём тебе
     
  9. Гость

    :google: Выразился не правильно. Да и вопрос был вывернут. Изначальный вопрос такой
    То есть, вводим какой-то набор чисел,например 12345, и вводим число,например 3. Мы должно провести проверку, попадает ли число в интервал 2-х цифр. То есть тут ответ будет 2 т.к. между 2 и 3 && 3 и 4, число 3 попало в интервал

    Пришел теперь к этому....
    Код (C++):
    #include<stdio.h>
    #include<conio.h>
    main(){
    char str[100];
    gets(str);
    int x,i;
    scanf("%i",&x);
    for(i=0;str[i]!='\0';i++){
    if(x>=str[i] && x<=str[i+1])

    }
    printf("%i",i);
    getch();
    return 0;
    }
     
  10. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    ну всё задача решена

    объяви целую переменную(счётчик)
    +
    три условия
    два интервала у числа число в середине массива символов счётчик+2
    слева
    и
    справа
    интервал у числа соответсвенно в конце и в начале массива счётчик+1
     
  11. Гость

    Спс,щас подправлю. Но 3 задача мне остается не понятной. Я только знаю,как ввести Динамический массив и подключить библиотеку,ну и функцию ввести
     
  12. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    :google:
    объясни что надо сделать
     
  13. Гость

    Можно как-то разъяснить повнятнее? Что-то все в куче

    Разработать две функции,одна из которых вводит с клавиатуры набор данных в произвольной последовательности и размещает в памяти в переменном формате. Другая функция читает эти данные и выводит на экран.Программа запрашивает и размещает в памяти несколько наборов данных при помощи первой функции,размещает их в стек/очередь,а затем читает их и выводит на экран при помощи второй. Размещение данных производить в статическом массиве байтов фиксированной размерности с контролем его переполнения.
     
  14. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    k-счётчик интервалов
    1234506789 ]50],[06[ -два интервала ->k=k+2;
    0123456789 [01[ -один слево ->k=k+1;
    1234567890 ]90] -один справо ->k=k+1;





    объявляешь 3 статических массива целый,вещественный и символьный
    в 1 функции
    через 3 цикла(по одному на массив)
    заполняешь их

    во 2ой
    вызываешь
     
  15. Гость

    Так и не ясно зачем нам 3 условия вводить?

    Код (C++):
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    main(){
    char str[100];
    gets(str);
    int x,i,k=0;
    scanf("%i",&x);
    for(i=0;str[i]='\0';i++){
    if(x>=str[i]&&x<=str[i+1]) k+=1;
    if(x>=str[i+1]&&x<=str[i+2]&&x>=str[i+2]&&x<=str[i+3]) k+=2;
    if(x>=str[i+4]&&x<=str[i+5]) k+=1;
    }
    printf("%i",k);
    getch();
    return 0;
    }
     
Загрузка...
Похожие Темы - Hеlp Задачами
  1. Facktor88
    Ответов:
    0
    Просмотров:
    1.089
  2. fatpunk
    Ответов:
    0
    Просмотров:
    1.137
  3. Michael18
    Ответов:
    0
    Просмотров:
    2.036

Поделиться этой страницей