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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lil21
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 6
#1

Найти размеры всех прямоугольников, удовлетворяющих условию - C++

20.12.2011, 22:21. Просмотров 978. Ответов 9
Метки нет (Все метки)

задачи на си:
1) найти размеры всех прямоугольников, площадь которых равна заданному натуральному числу S и стороны которых выражены натуральными числами. При этом решения, которые получаются перестановкой размеров сторон считать одинаковыми.
2) Даны три слова. Напечатать их общие буквы. Повторяющиеся буквы каждого слова не рассматривать.

 Комментарий модератора 
Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 22:21     Найти размеры всех прямоугольников, удовлетворяющих условию
Посмотрите здесь:

C++ Одномерный массив. Считать из файла, найти количество элементов, удовлетворяющих условию
Найти произведение элементов, удовлетворяющих условию 0 < tan < 1 C++
C++ В массиве найти количество элементов, стоящих на четных местах, удовлетворяющих условию a<ti<b
Указатели. Найти количество элементов, стоящих на четных местах, удовлетворяющих условию C++
C++ Найти количество элементов на четных местах, удовлетворяющих условию
C++ Найти количество элементов массива, удовлетворяющих условию 1<b[i]<m
В массиве, сформированном случайным образом, найти количество элементов, удовлетворяющих условию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6248 / 5851 / 1891
Регистрация: 18.12.2011
Сообщений: 14,985
Завершенные тесты: 1
20.12.2011, 22:23     Найти размеры всех прямоугольников, удовлетворяющих условию #2
А в чем нужна помощь? Алгоритм? Или проблемы с языком?

По первой задаче.
Делаете цикл for(int i=1;i<=s;i++)
Если s делится нацело на i, то прямоугольник подходит.

По второй. Делаете 3 вложенных цикла по i,j,k.
Если a[i]==b[j]==c[k], то буква общая
lil21
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 6
20.12.2011, 22:27  [ТС]     Найти размеры всех прямоугольников, удовлетворяющих условию #3
проблемы с языком.. ну или хотя бы алгоритм решения..
zss
Модератор
Эксперт С++
6248 / 5851 / 1891
Регистрация: 18.12.2011
Сообщений: 14,985
Завершенные тесты: 1
21.12.2011, 08:16     Найти размеры всех прямоугольников, удовлетворяющих условию #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
for(int i=1;i<=s;i++)
{
    if(s%i==0)
       printf("a=%d, b=%d подходит\n",i,s/i);
}
char a[100],b[100],c[100];
...
for(int i=0;i<strlen(a);i++)
for(int j=0;j<strlen(b);j++)
for(int k=0;k<strlen(c);k++)
    if(a[i]==b[j] && b[j]==c[k] )
        printf("Буква %c общая\n",a[i]);
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.12.2011, 08:43     Найти размеры всех прямоугольников, удовлетворяющих условию #5
Цитата Сообщение от zss2 Посмотреть сообщение
for(int i=1;i<=s;i++)
{
if(s%i==0)
printf("a=%d, b=%d подходит\n",i,s/i);
}
заменить на:
C++
1
2
3
4
5
for(int i=1;i<=(int)sqrt((double)s);i++)
{
    if(s%i==0)
       printf("a=%d, b=%d подходит\n",i,s/i);
}
и не забыть подключить библиотеку:
#include <cmath>
Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
21.12.2011, 09:09     Найти размеры всех прямоугольников, удовлетворяющих условию #6
Думаю, что лучше (int)sqrt((double)s) присвоить отдельной переменной до цикла, иначе этот корень будет вычисляться на каждой итерации.
Байт
Эксперт C
15547 / 9889 / 1486
Регистрация: 24.12.2010
Сообщений: 18,494
21.12.2011, 10:27     Найти размеры всех прямоугольников, удовлетворяющих условию #7
zss2,
Цитата Сообщение от lil21 Посмотреть сообщение
Повторяющиеся буквы каждого слова не рассматривать.
Я бы завел "шкалу" char sk[256], Обнулил бы ее в начале
C
1
2
3
4
if(a[i]==b[j] && b[j]==c[k] && sk[a[i]]==0 ) {
    printf("Буква %c общая\n",a[i]);
   sk[a[i]] = 1;
}
Добавлено через 1 минуту
Конечно
C
1
unsigned char a[100], b[100], c[100];
lil21
1 / 1 / 0
Регистрация: 20.12.2011
Сообщений: 6
22.12.2011, 16:59  [ТС]     Найти размеры всех прямоугольников, удовлетворяющих условию #8
Спасибо вам, очень помогли!
Alex Ann
0 / 0 / 0
Регистрация: 24.02.2012
Сообщений: 3
24.02.2012, 11:28     Найти размеры всех прямоугольников, удовлетворяющих условию #9
А как реализовать "исключение" повторяющихся вариантов на Паскале?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2016, 09:07     Найти размеры всех прямоугольников, удовлетворяющих условию
Еще ссылки по теме:

C++ Найти произведение элементов массива, удовлетворяющих заданному условию
C++ Найти два числа, удовлетворяющих условию
C++ Найти количество элементов последовательности удовлетворяющих заданному условию
C++ Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде)
C++ В заданном массиве найти сумму элементов, удовлетворяющих условию

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

Или воспользуйтесь поиском по форуму:
Antony_Chet
0 / 0 / 0
Регистрация: 10.10.2016
Сообщений: 16
17.11.2016, 09:07     Найти размеры всех прямоугольников, удовлетворяющих условию #10
Здраствуйте! А можно всю программу целиком написать?
Yandex
Объявления
17.11.2016, 09:07     Найти размеры всех прямоугольников, удовлетворяющих условию
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru