Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2011, 14:05   #1
ZinGoZol
Пользователь
 
Регистрация: 06.02.2011
Сообщений: 14
По умолчанию Функции в языке С(просто С). Задачи.

Здравствуйте. Хотя язык С уже довольно устарел и появились более универсальные простые, тот же С++, программируем мы в универе на чистом С. И вот я не могу разобраться с несколькими задачами. Если кто может решить хоть парочку, то прошу, очень надо, но не срочно, к среде.

1) 2 натуральных числа называются дружественными, если каждое из них равно сумме всех делителей (кроме его самого) другого числа. (например числа 220 и 284). Найти все пары таких чисел, которые не больше числа N.

2) 2 простых числа называются близнецами, если они отличаются друг от друга на 2(41 и 43 и т.д.) Напечатать все пары близнецов из отрезка [N;2N]
, где N>2, N - натуральное.(да, знаю, простая, но не получается сделать)

3) Найти все натуральные n-значные числа, цифры которых образуют строго возрастающую последовательность(например 1234, 5789, 1378 и т.д.)

4) На отрезке [100;N], причём 210<N<231, найти кол-во чисел, составленных из цифр a,b,c.

Заранее спасибо
ZinGoZol вне форума Ответить с цитированием
Старый 27.03.2011, 15:28   #2
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

То есть, если бы ретроград-преподаватель давал не Си, а что-то более свежее и "универсально простое", то решил бы сам и без проблем. А так - "довольно устаревший" Си не даёт проявить способностей к алгоритмизации... Душит, можно сказать... От же ж зараза-преподаватель!..
Vago вне форума Ответить с цитированием
Старый 27.03.2011, 17:07   #3
[CODER]
Форумчанин
 
Аватар для [CODER]
 
Регистрация: 02.02.2010
Сообщений: 305
По умолчанию

Vago +
если нет наработок, то стучи в асю, договоримся.
Skype: CODERua
[CODER] вне форума Ответить с цитированием
Старый 28.03.2011, 14:04   #4
ZinGoZol
Пользователь
 
Регистрация: 06.02.2011
Сообщений: 14
По умолчанию

Да нет, не в этом дело, просто много знакомых-программистов, так вот те и говорят, что на С уже почти не программируют, редко где он нужен, т.к. уже имеются более продвинутые ЯП. С тем же С++ я осваивался около 2х недель(но это до уровня сугубо начинающего). С этим уже месяц не могу совладать Не любит он меня
ZinGoZol вне форума Ответить с цитированием
Старый 28.03.2011, 14:33   #5
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

Цитата:
просто много знакомых-программистов, так вот те и говорят, что на С уже почти не программируют, редко где он нужен
я тебе скажу, что это горе-программисты, С - для системного программирования, например, пишут на нем драйверы, винда и другие оси написаны на нем и пишутся тоже, причем и асм там используется повсеместно

так что не надо демагогий
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 28.03.2011, 18:12   #6
Silly Student
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию

Автор, держи решение задачи № 4

Код:
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
//На отрезке [100;N], причём 210<N<231, найти кол-во чисел, составленных из цифр a,b,c

int main()
{
    int n;
    cout << "N = "; cin >> n;
    // проверка на валидность
    if (n <= 210 || n >= 231){
    return 0;
    }

    int a,b,c;
    cout << "\nA = "; cin >> a;
    cout << "\nB = "; cin >> b;
    cout << "\nC = "; cin >> c;


    int count = 0; //счётчик

    char text_bufer[3];
    char num_buferA[2];
    char num_buferB[2];
    char num_buferC[2];
      for (int i = 100; i <= n; i++)
    {

     sprintf(text_bufer,"%d",i); //преобразование из int в char
     sprintf(num_buferA,"%d",a);
     sprintf(num_buferB,"%d",b);
     sprintf(num_buferC,"%d",c);
     //ищем
     if ((text_bufer[0]==num_buferA[0] ||text_bufer[1]==num_buferA[0] || text_bufer[2]==num_buferA[0] ) &&
         text_bufer[0]==num_buferB[0] ||text_bufer[1]==num_buferB[0] || text_bufer[2]==num_buferB[0] &&
         text_bufer[0]==num_buferC[0] ||text_bufer[1]==num_buferC[0] || text_bufer[2]==num_buferC[0] )
     {
      count++;
     }

    }
    //вывод результата
 cout << "В этом диапазоне есть " << count << " чисел, состоящих из цифр " << a << "," << b << "," << c << endl;



    return 0;
}
Silly Student вне форума Ответить с цитированием
Старый 30.03.2011, 20:14   #7
ZinGoZol
Пользователь
 
Регистрация: 06.02.2011
Сообщений: 14
По умолчанию

Cрс огромное
ZinGoZol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на языке паскаль в делфи 8ball Помощь студентам 12 10.04.2011 19:32
Решение задачи на языке Pascal FishOK Помощь студентам 4 23.11.2010 14:34
Задачи на языке С++ xetron Помощь студентам 6 09.11.2010 14:05
программа график функции на языке с koldun89 Помощь студентам 3 29.09.2010 08:45
Я думаю для Вас это просто (2 задачи) nikemir Паскаль, Turbo Pascal, PascalABC.NET 2 28.08.2010 19:24