26 / 26 / 3
Регистрация: 05.03.2010
Сообщений: 170
1

Не работает оператор вывода

12.05.2010, 16:44. Показов 945. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Я в недоумении.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <stdio.h>
 
void main()
{
    int n=0, m=0, i=0, j=0, i1=0, j1=0, i2=0, j2=0, q=0,
        a[100][100];
    printf("Vvedite razmer(strok): ");
    scanf("%i", &n);
    printf("stolbcov: ");
    scanf("%i", &m);
    i = -1;
    j = -1;
    i1 = n-1;
    j1 = m-1;
    i2 = 0;
    j2 = 0;
    q = 1;
 
    do 
    {
        i++;
         if (q <= m*n) 
             do 
             {
                 j++;
                 a[i][j] = q;
                 q++;
             } while (j <= j1 || q <= m*n);
        if (q <= m*n) 
        {
            i++;
            do
            {
                a[i][j] = q;
                i++;
                q++;
                if (q = m*n) 
                {
                    i--;
                    j--;
                }
            } while (i < i1 && q <= m*n);
        }
        if (q <= m*n)
        {
            do
            {
                a[i][j] = q;
                j--;
                q++;
            } while (j > j2 && q <= m*n);
        }
        if (q <= m*n)
        {
            do 
            {
                a[i][j] = q;
                i--;
                q++;
            } while (i > i2 && q <= m*n);
        }
        i1--; j1--; i2++; j2++;
    } while (a[i+1][j] < n*m);
    for(i=0; i < n; i++)
    {
        for(j=0; j < m; j++)
            printf("%3i", a[i][j]);
        printf("\n");
    }
}
Если в 28 строке оператор OR заменить оператором AND, то перестает работать оператор вывода printf. Подскажите, пожалуйста, почему такое происходит. P.S. Среда MS Visual C++ 6.0.
Если необходимо, то это программа для заполнения матрицы по спирали.

Добавлено через 20 часов 27 минут
Изменил код, та же неполадка. Прошу, помогите.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <stdio.h>
 
void main()
{
    int q=0, i1=0, i, j, j1, n=0, m=0, i2, j2, arr[20][20];
    printf("Vvedite razmer: ");
    scanf("%i", &n);
    printf("Vvedite visotu: ");
    scanf("%i", &m);
    i1 = 0;
    j1 = 0;
    i2 = n;
    j2 = m;
    q = 1;
    do
    {
        while (q <= m*n && j < j2)
        {
            arr[i][j] = q;
            q++;
            j++;
        }
        while (q <= m*n && i < i2)
        {
            arr[i][j] = q;
            i++;
            q++;
        }
        while (q <= m*n && j > j1)
        {
            arr[i][j] = q;
            j--;
            q++;
        }
        while (q <= m*n && i > i1)
        {
            arr[i][j] = q;
            i--;
            q++;
        }
        i++;
        j++;
        j2--;
        i2--;
        i1++;
        j1++;
    } while (q <= m*n);
    for(i=0; i < m; i++)
    {
        for(j=0; j < n; j++)
            printf("%3i", arr[i][j]);
        printf("\n");
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2010, 16:44
Ответы с готовыми решениями:

Оператор ввода-вывода
Помогите решить в Си(C#) Вычислить значение выражения при действительных значениях всех переменных.

Оператор ввода-вывода
Вычислить значение выражения при действительных значениях всех переменных.

Условный оператор, оператор ввода/вывода; плоскость и принадлежность точки
Здравствуйте. В С++ я абсолютный новичок, поэтому с первым же заданием возникли определённые...

Оператор вывода
Что означают звездочки в write(*,*)? Добавлено через 7 минут первая звездочка, я так понимаю,...

2
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
12.05.2010, 16:52 2
Цитата Сообщение от stv Посмотреть сообщение
arr[i][j] = q;
при этом i и j не инициализированы
1
26 / 26 / 3
Регистрация: 05.03.2010
Сообщений: 170
12.05.2010, 17:33  [ТС] 3
Разобрался. Спасибо.
0
12.05.2010, 17:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2010, 17:33
Помогаю со студенческими работами здесь

Оператор вывода
Не могу найти ошибку в коде , вроде все правильно. Суть программы - Если денег достаточно , то...

Перегруженный оператор вывода
Есть базовый класс Точка и его наследник Круг. Как в Круге использовать operator&lt;&lt; для Точки? Надо...

Перегруженный оператор вывода
Пытаюсь написать шаблон для работы с бинарными деревьями поиска. Возникла проблема - с ходу не...

Оператор вывода confirm
Добрый день! Вот такая вот проблема: Использую var gender = confirm(&quot;Your sex is men?&quot;); По...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru