Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Гаряка Асмик
Статус: Профессор
Рейтинг: 6884
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2664
∙ повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 2267
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / C/C++

Номер выпуска:1627
Дата выхода:23.01.2011, 18:00
Администратор рассылки:Киселёва Алёна aka Verena (Профессор)
Подписчиков / экспертов:323 / 185
Вопросов / ответов:3 / 3

Вопрос № 181921: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Задачи на одномерные массивы: 1) Дан целочисленный массив размерности п. Напечатать те его элементы, индексы которых являются степенями двойки (1,2,4,8,16,...). Вопрос № 181923: Уважаемые эксперты! Пожалуйста, ответьте на вопрос: Консольное приложение C++ Builder 3.1 Максимально простым кодом, без выделения пространства имен и т.д. Задачи на двумерные массивы: 1) В данной действительной квадратной матрице пор...


Вопрос № 181924: Здравствуйте! Прошу помощи в следующем вопросе: Консольное приложение C++ Builder 3.1 Максимально простым кодом, без выделения пространства имен и т.д. Задачи на текстовые файлы: 1) Дан файл, содержащий текст. Сколько слов в текст...

Вопрос № 181921:

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

Задачи на одномерные массивы:
1) Дан целочисленный массив размерности п. Напечатать те его элементы, индексы которых являются степенями двойки (1,2,4,8,16,...).

2) Даны две последовательности целых чисел a1, a2, …an и b1, b2, …bn Все члены последовательностей - различные числа. Найти, сколько членов первой последовательности совпадают с членами второй последовательности.

Отправлен: 17.01.2011, 17:17
Вопрос задал: Denis Loran (4-й класс)
Всего ответов: 1
Страница вопроса »


Отвечает Сергей (4-й класс) :
Здравствуйте, Denis Loran!

В приложении написаны обе задачи, надеюсь сложного там нету ничего.

Приложение:

Ответ отправил: Сергей (4-й класс)
Ответ отправлен: 17.01.2011, 18:03
Номер ответа: 265480
Россия, Самара

Оценка ответа: 5
Комментарий к оценке:
Просто и понятно

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 265480 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Вопрос № 181923:

    Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
    Консольное приложение C++ Builder 3.1
    Максимально простым кодом, без выделения пространства имен и т.д.
    Задачи на двумерные массивы:

    1) В данной действительной квадратной матрице порядка N найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.

    2) Определить номера строк матрицы R[M, N], хотя бы один элемент кото­рых равен с, и элементы этих строк умножить на d.

    Матрицы задаются с клавиатуры.

    Отправлен: 17.01.2011, 18:25
    Вопрос задал: Denis Loran (4-й класс)
    Всего ответов: 1
    Страница вопроса »


    Отвечает Жерар (8-й класс) :
    Здравствуйте, Denis Loran!

    1)

    Код:

    #include <stdio.h>

    int main()
    {
    int i, j, N;
    float *a;
    puts("Введите порядок матрицы:");
    scanf("%u", &N);
    a = new float[N*N];
    puts("Введите элементы матрицы:");
    for (i=0; i<N; i++)
    for (j=0; j<N; j++)
    {
    printf("A[%u,%u] = ", i+1, j+1);
    scanf("%f", &a[i*N+j]);
    }
    float a_min = a[0];
    int i_min = 0;
    for (i=0; i<N; i++)
    for (j=0; j<N; j++)
    if (a[i*N+j]<a_min) a_min = a[(i_min=i)*N+j];
    float s = 0;
    for (j=0; j<N; j++) s += a[i_min*N+j];
    printf("Сумма равна %f\r\n", s);
    de lete [] a;
    return 0;
    }


    2)

    Код:

    #include <stdio.h>

    int main()
    {
    int i, j, M, N;
    float c, d;
    float *R;
    puts("Введите размер матрицы:");
    scanf("%u %u", &M, &N);
    R = new float[M*N];
    puts("Введите c и d:");
    scanf("%f %f", &c, &d);
    puts("Введите элементы матрицы:");
    for (i=0; i<M; i++)
    for (j=0; j<N; j++)
    {
    printf("R[%u,%u] = ", i+1, j+1);
    scanf("%f", &R[i*N+j]);
    }
    printf("Элемент %9.3f содержат\r\n", c);
    for (i=0; i<M; i++)
    for (j=0; j<N; j++)
    if (R[i*N+j]==c)
    {
    printf("cтрока %u\r\n", i+1);
    for (j=0; j<N; j++) R[i*N+j] *= d;
    break;
    }
    puts("\r\nНовая матрица:");
    for (i=0; i<M; i++)
    {
    for (j=0; j<N; j++) printf("%9.3f ", R[i*N+j]);
    puts("");
    }
    delete [] R;
    return 0;
    }

    Ответ отправил: Жерар (8-й класс)
    Ответ отправлен: 17.01.2011, 19:38
    Номер ответа: 265481
    Россия, Томск
    Тел.: 8-923-411-36-58

    Оценка ответа: 5
    Комментарий к оценке:
    Все работает, спасибо

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 265481 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Вопрос № 181924:

    Здравствуйте! Прошу помощи в следующем вопросе:

    Консольное приложение C++ Builder 3.1
    Максимально простым кодом, без выделения пространства имен и т.д.
    Задачи на текстовые файлы:

    1) Дан файл, содержащий текст. Сколько слов в тексте? Сколько цифр в тексте?

    2) Пусть текстовый файл t разбит на непустые строки. Описать функцию count(t) для подсчета числа строк, которые начинаются и оканчиваются одной и той же литерой.

    Отправлен: 17.01.2011, 20:23
    Вопрос задал: Denis Loran (4-й класс)
    Всего ответов: 1
    Страница вопроса »


    Отвечает Лысков Игорь Витальевич (Старший модератор) :
    Здравствуйте, Denis Loran!
    1)
    Код:
    #include <string.h>
    #include <stdio.h>

    void main( void )
    {
    char sName[256];
    char sRow[256];
    FILE *file;
    int WordsCount; //число слов
    int DigitsCount; //число цифр
    int fSep; //признак разделителя (1- разделитель)
    int i;

    printf("Enter file name: ");
    scanf("%s",sName); //вводим имя файла

    file = fopen(sName, "r");
    if(!file)
    printf("File '%s' not opened\n\n", sName);
    else
    {
    WordsCount = 0; //обнуляем счетчики
    DigitsCount = 0;
    fSep = 1; //считаем, что начинаем с разделителя
    < br> while(fgets(sRow,256,file)) //читаем строку из файла
    {
    for(i=0; sRow[i]; i++) //по всем символам, пока не дойдем нулевого байта
    {
    if (strchr("0123456789",sRow[i])) //цифра?
    DigitsCount++; //ага, попалась :)

    //проверим на разделитель
    if (strchr("\x09\x20\x0a,.:;!-+*(){}<>\x2f",sRow[i]))
    { //не ноль - символ-разделитель из строки
    if (!fSep) //были в состоянии слова, значит слово кончилось
    {
    WordsCount++; //посчитаем
    fSep = 1; //переходим в состояние разделителя
    }
    }
    else //не разделитель
    {
    if (fSep) //если были в состоянии разделителя
    fSep = 0; //то переходим в состояние слова
    }
    }
    if (!fSep) //учтем возможное последнее слово в строке без перевода строки
    WordsCount++; // если остались в состоянии слова, то учтем его
    };

    fclose(file); //закрываем файл
    //выводим результат
    printf("Words count: %d\nDigits count: %d\n", WordsCount, DigitsCount);
    }
    }

    2)
    Код:
    /*
    Пусть текстовый файл t разбит на непустые строки.
    Описать функцию count(t) для подсчета числа строк,
    которые начинаются и оканчиваются одной и той же литерой
    */
    #include <string.h>
    #include <stdio.h>

    int count(char *pName)
    {
    char sRow[256];
    FILE *file;
    int RowsCount = 0; //число строк
    int iLen; //длина строки

    file = fopen(pName, "r"); //открываем файл
    if(!file)
    printf("File '%s' not opened\n\n", pName);
    else
    {
    RowsCount = 0; //обнуляем счетчик

    while(fgets(sRow,256,file)) //читаем строку из файла
    {
    iLen = strlen(sRow); //длина строки
    if (sRow[iLen-1] == '\n') //сдвинем на код конца строки
    iLen--; //учтем, что у последней может и не быть
    if ((iLen>2) && (sRow[0]>' ')) //обойдем строки, которые пустые и которых
    { // в начале непечатаемые символы
    if (sRow[0] == sRow[iLen-1])//проверяем условие равенства символов
    RowsCount++; //считаем
    }
    };

    fclose(file); //закрываем файл
    }
    return RowsCount; //возвращаем найденный счетчик
    }

    void main( void )
    {
    char sName[256];

    printf("Enter file name: ");
    scanf("%s",sName); //вводим имя файла

    //считаем и выводим найденное количество строк
    printf("Rows count = %d\n", count(sName));
    }

    -----
    Люби своего ближнего, как самого себя

    Ответ отправил: Лысков Игорь Витальевич (Старший модератор)
    Ответ отправлен: 20.01.2011, 13:58
    Номер ответа: 265521
    Украина, Кировоград
    Тел.: +380957525051
    ICQ # 234137952
    Mail.ru-агент: igorlyskov@mail.ru

    Оценка ответа: 5
    Комментарий к оценке:
    Большое спасибо

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 265521 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.



    В избранное