Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73

Пожалуйста : небольшая ошибка в цикле!

05.11.2013, 12:17. Показов 970. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго утра!
Помогите, пожалуйста. Вот код:
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
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
int main()
{
    int k,i,j,n,tmp,score,score1,score2,tmp_score1,tmp_score2,h,w,tmp_score;
    cin>>k;
    score1=score2=tmp_score1=tmp_score2=0;
    n=1;
    score=k*k;
    for (i=1;i<k/2;i++) {
        for (j=n;j<=k;j++) {
            h=i;
            w=j;
            tmp_score1=abs(h-w);
            tmp_score2=k-(h*w);
            tmp_score=tmp_score1+tmp_score2;
            if (tmp_score<score) {
                                 score=tmp_score;
                                 cout<<h<<" "<<w<<"   ";
                                 }            
        }
        n++;
    }
    cout<<score;
    getch();
}
Проблема в том, что во втором цикле числа почему-то не начинаются с i , а с i+2.
Ввод: 11
Вывод:1 1 2 2 2 3 2 5 2 6 2 7 2 8 2 9 2 10 2 11 3 6 (!!!, почему не 3 3 3 4?) 3 7 ....3 11 4 8(!!!, почему не 4 4 4 5)
Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.11.2013, 12:17
Ответы с готовыми решениями:

Небольшая ошибка
Начал изучать Delphi, написал простенькую программу. Всё бы ничего, но при когда значение превышает определённое значение или полностью...

Небольшая ошибка. С#
private void button10_Click(object sender, EventArgs e) { for (int n =1; n &lt;=7;n++) { ...

Небольшая ошибка
Есть код: Size:=GetFileSize(chosenDirectory+'/papka123/'+FileName.Strings); Size - переменная типа Int64 chosenDirectory - папка,...

15
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
05.11.2013, 12:20  [ТС]
Вот фото вывода:
Миниатюры
Пожалуйста : небольшая ошибка в цикле!  
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
05.11.2013, 12:40
Во-первых, подсократим немного код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
int main()
{
    int k,score, tmp_score;
    cin>>k;
    score=k*k;
    for (int i=1;i<k/2;i++) {
        for (int j=i;j<=k;j++) {
            tmp_score=k + abs(i-j) - (i*j);
            if (tmp_score<score)
            {
                score=tmp_score;
                cout << i << " " << j << " ";
            }
        }
    }
    cout << score << endl;
    system("pause");
    return 0;
}
А вот теперь хотелось бы узнать, что вы вычисляете так как мне увы ничего не понятно...
0
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
05.11.2013, 12:42  [ТС]
Задача Mcode Маємо К квадратних плиток. Із них потрібно викласти прямокутник висотою H та шириною W плиток. Варіантів, як ви розумієте, чимало. Але кожен прямокутник має свій код. Цей код вираховується як сума двох величин:

Квадратоподібність=| H-W |

Економічність=К-H*W

Потрібно знайти мінімально можливий код прямокутника.

Технічні умови. Програма Mcode читає з пристрою стандартного введення (клавіатури) єдине число К (1 ≤ K ≤ 106 ). Програма виводить на пристрій стандартного виведення (екран) єдине число – мінімально можливий код прямокутника.

Приклади

Введення


Виведення


Коментар

11


2


Прямокутник 3*3

2


1


Прямокутник 2*1

20


1


Прямокутник 4*5
0
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
05.11.2013, 12:44  [ТС]
Сверху задача.
cout << i << " " << j << " "; это для проверки
Миниатюры
Пожалуйста : небольшая ошибка в цикле!  
0
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
05.11.2013, 12:47  [ТС]
Ilot, Там некоторое лишнее. Например n++ после первого цикла это для експеримента. пробовал заменять , чтобы не j=i , а паралельно i++ вести n++ и уже j=n.
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
05.11.2013, 12:49
Так-с смотрите при i = 3 j = 11 score = -14...
при i = 4 j = 7 score = -14...
и только при i = 4 j = 8 score = -17
Т.е. tmp_score<score. Какие вопросы?
Цитата Сообщение от web-raised Посмотреть сообщение
Ilot, Там некоторое лишнее. Например n++ после первого цикла это для експеримента. пробовал заменять , чтобы не j=i , а паралельно i++ вести n++ и уже j=n.
Уже убрал...
0
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
05.11.2013, 12:51  [ТС]
Там много лишнего:
n++
cout<<h<<" "<<w<<" ";
Всё для проверки.
Первая задача на рисунке.
Миниатюры
Пожалуйста : небольшая ошибка в цикле!  
0
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
05.11.2013, 12:54  [ТС]
Ilot, Сума i+j не должна выходить за K плиток. Ошибочка. Код только додатний.
Поставить чтобы делалось вычисление кода в условии (if (i+j)<=k) {} ) ?
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
05.11.2013, 12:59
Сперва был дан код, а об условиях задачи ничего не говорилось.
Вы бы не могли перевести сей трактат на великий могучий, а то я в иностранных языках как енот полоскун в квантовой электродинамике...
1
05.11.2013, 13:11
 Комментарий модератора 
web-raised, пункт 5.5 Правил: Нельзя дублировать темы.

Во-вторых (пункт 1.4) официальными языками форума являются русский и английский языки. Вы конечно вольны писать и каком-либо другом языке, но это существенно снижает вероятность ответа на заданный в теме вопрос.
0
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
05.11.2013, 18:43  [ТС]
Имеем К квадратных плиток. Из них нужно выложить прямоугольник высотой H и шириной W плиток. Вариантов , как вы понимаете , немало. Но каждый прямоугольник имеет свой ​​код. Этот код вычисляется как сумма двух величин :

Квадратоподибнисть = | H - W |

Экономичность = К - H * W

Нужно найти минимально возможное код прямоугольника .

Технические условия. Программа Mcode читает с устройства стандартного ввода (клавиатуры ) единственное число K ( 1 ≤ K ≤ 106). Программа выводит на устройство стандартного вывода (экран) единственное число - минимально возможный код прямоугольника .
Ввод и вывод уже ясны.

Добавлено через 55 секунд
Ilot, Прямокутник=Прямоугольник

Добавлено через 46 минут
up!

Добавлено через 1 час 35 минут
up!

Добавлено через 21 минуту
Помогите же!
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
06.11.2013, 09:47
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
 
int main()
{
int k;
cin >> k;
 
int squaresidb4vsllvbls, economy, code=k;
 
for(int i=k; i>0; i--)
  {
  if(!(k%i))
    {
    squaresidb4vsllvbls = abs(i-k/i);
    economy = k - i * k/i;
    if(code > squaresidb4vsllvbls + economy)
      code = squaresidb4vsllvbls + economy;
    }
  }
cout << "Min code = " << code << endl;
cin.ignore(2);
return 0;
}
С вас пиво.
0
7 / 7 / 2
Регистрация: 25.03.2013
Сообщений: 73
06.11.2013, 10:27  [ТС]
SatanaXIII, Простите , но задача поменяна в корне и решена не верно. У меня она верна, а нужно всего лишь устранить ошибку в циклах. Там нужно вот (на картинке):
Миниатюры
Пожалуйста : небольшая ошибка в цикле!  
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
06.11.2013, 10:40
Цитата Сообщение от web-raised Посмотреть сообщение
задача поменяна в корне
Вот хотелось бы услышать формулировку.
Цитата Сообщение от web-raised Посмотреть сообщение
но задача поменяна в корне и решена не верно
Решена неверно или не подходит под нынешнее условие?
Цитата Сообщение от web-raised Посмотреть сообщение
Там нужно вот (на картинке)
Это ни разу непонятно как именно нужно.
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
06.11.2013, 12:04
ТС вам бы сперва научится формулировать задачи иначе их будет очень тяжело решать не только вам (это не важно), но и тем кто все-таки решит вам помочь.
Не уверен, что вам на самом деле нужно, но вот эта программа выводит последовательность как указанно вами на скрине:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using std::cin;
using std::cout;
int main()
{
    int k;
    cin>>k;
    for (int i=1;i<k/2;i++)
        for (int j=i;j<=k;j++)
            cout << i << " " << j << " ";
    system("pause");
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.11.2013, 12:04
Помогаю со студенческими работами здесь

Небольшая ошибка в программе
Привет друзья!Для выч.мата нужно написать программу..программа вроде бы верна(у других работает,изменена только формула.У меня выдает такую...

Совсем небольшая ошибка
Помогите найти небольшую ошибку в проге, вот её код #include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; float Fact(int n) { ...

Небольшая ошибка в программе
Все работает, но не могу понять почему вместо 5 попыток получается 6. Подскажите пожалуйста что делаю не так. import random Slad =...

Небольшая ошибка в программе
Вот решаю задачу с одного сайта, всё вроде должно работать, но не получается присвоить s значение a - 1. Паскаля нет, вставил как язык...

Небольшая ошибка в программе
Я полный новичок в c++, написал программу, которая проверяет, какое число больше, первое, или второе. #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru