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

Расшифровать цикл - C++

Восстановить пароль Регистрация
 
Golovastik
 Аватар для Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
02.09.2009, 21:52     Расшифровать цикл #1
Здравствуйте! Помогите,если кто может, понять вот этот кусок кода,что он делает,желательно чтоб было понятно.

C++
1
2
3
    for(j = 0; j < 10; j++)
        if(sqrs[j][0] ==i)
            break;
из вот этого исходника:
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
28
29
30
31
#include <iostream>
#include <cstring>
#include <cctype>
using namespace std;
 
int main()
{
    setlocale(0,"");
    int i,j;
    int sqrs[10][2] = {
        {1,1},
        {2,4},
        {3,9},
        {4,16},
        {5,25},
        {6,36},
        {7,49},
        {8,64},
        {9,81},
        {10,100} 
    };
    cout<<"Введите число от 1 до 10 - >  ";
    cin>>i;
    for(j = 0; j < 10; j++)
        if(sqrs[j][0] ==i)
            break;
    cout<<"Квадрат числа = "<<i<<" равен "<<sqrs[j][1];
    cin.ignore();
    cin.get();
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Phantom
Эксперт C++
 Аватар для Phantom
3160 / 842 / 15
Регистрация: 29.12.2008
Сообщений: 952
02.09.2009, 22:02     Расшифровать цикл #2
Тут вводится матрица, состоящая из двух столбцов вида "число - квадрат числа".
А цикл проходит по первому столбцу, по "числам" и ищет совпадения с введенным i. Найдя его, цикл заканчивается (с помощью оператора break) и затем выводится соответствующее найденному числу значение квадрата из второго столбца.
Что-то вроде таблицы квадратов.
HIMen
 Аватар для HIMen
4109 / 1358 / 39
Регистрация: 12.04.2009
Сообщений: 2,346
02.09.2009, 22:04     Расшифровать цикл #3
Возможно автор хотел сделать таблицу квадратов, вводишь число, выводится квадрат, зачем нужен цикл
C++
1
2
3
for(j = 0; j < 10; j++)
                if(sqrs[j][0] ==i)
                        break;
не понятно, в результате всегда j=i;
цикл можно убрать, сделав так
C++
1
2
3
4
cin>>i;
        cout<<"Квадрат числа = "<<i<<" равен "<<sqrs[i-1][1];
        cin.ignore();
        cin.get();
Golovastik
 Аватар для Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
02.09.2009, 22:11  [ТС]     Расшифровать цикл #4
j - это строки в данном коде, i - столбцы?
Тоесть происходит подсчёт с 0-го до 10-того элемента по строкам и проверяется условие чего,что-то не ясно вот это:

C++
1
if(sqrs[j][0] ==i)

Как эт от кусок расшифровать словами?

Если элемент строки равен элементу столбца,тогда выйти, или что?
HIMen
 Аватар для HIMen
4109 / 1358 / 39
Регистрация: 12.04.2009
Сообщений: 2,346
02.09.2009, 22:18     Расшифровать цикл #5
j-столбец i-строка, а та штука подсчитывала строку из введенного i, это не нужно, можно проще, как я показал
Phantom
Эксперт C++
 Аватар для Phantom
3160 / 842 / 15
Регистрация: 29.12.2008
Сообщений: 952
02.09.2009, 22:20     Расшифровать цикл #6
"если элемент матрицы sqrs, лежащий в j-ой строке, 0-ом столбце равен числу i"
Смысл такой должен быть, исходя из данного алгоритма.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2009, 00:31     Расшифровать цикл
Еще ссылки по теме:

Как расшифровать libGRF архив? C++
C++ Не получается расшифровать zlib
C++ Расшифровать текст
C++ Ребята помагите расшифровать код пожалуйста
Расшифровать слова методом полиномов C++

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

Или воспользуйтесь поиском по форуму:
Golovastik
 Аватар для Golovastik
11 / 11 / 0
Регистрация: 25.05.2009
Сообщений: 435
03.09.2009, 00:31  [ТС]     Расшифровать цикл #7
C++
1
j-столбец i-строка,
Это точно в этом коде?
И последний момент. Почему,если убрать в этой строке:

C++
1
cout<<"Квадрат числа = "<<i<<" равен "<<sqrs[j][1];
единицу,заменив на что-то другое,перестанет считать квадрат числа, а будет выводить например при вводе числа 5, такой результат.
Квадрат числа 5 равен 5, что даёт единица, что будет,если вместо единицы подставить другое число?
__________________

Добавлено через 1 час 21 минуту
Всё,врубился. Оказывается что в данном коде,происходит цикл с 1 по 10-ый элемент по строкам, первого столбца. И проверяется каждая строка, 1 -го столбца на то,число которое мы ввели, тоесть число i. Если строка, 1 -го столбца, совпала с тем числом,которое мы ввели,тогда цикл прекращается.
Yandex
Объявления
03.09.2009, 00:31     Расшифровать цикл
Ответ Создать тему
Опции темы

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