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

Матрица!!! Курсовое задание!!! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Цикл не работает так как надо http://www.cyberforum.ru/cpp-beginners/thread122898.html
Всем привет! Народ, у меня цикл в программе работает не так как надо. 1 круг цикла происходит в норме, а когда начинается 2ой он пропускает 1 переменную которую надо ввести, и после ввода 2ой он просто заканчивается без ввода данных ( #include <iostream.h> #include <conio.h> const int MAX=8; struct Sladko { char Name;
C++ Разбиение строк Доброго времени суток! Собственно нужна помощь в поиске ошибки. вот код: #include "stdafx.h" typedef struct { char str; http://www.cyberforum.ru/cpp-beginners/thread122872.html
Наследование, иерархия, коллекция, декомпозиция C++
Суть предельно проста: декомпозиция объектов; объект класса base содежит имя(char name) и указатель на двунаправленный список указателей на объект базового типа base ; наследники: классы кафедра, специальность, группа, студент.Т.е.каждый объект класса является коллекцией следующего, только студент содержит не список, а данные. Ошибок нет.НО...! при работе динамические объекты не создаются...
Массив C++
Даны действительные числа а1,..а26.Требуеться домножить все члены последовательности на квадрат ее найменьшего члена если а1>=0,и на квадрат ее найменьшего члена если а1<0. плз:)
C++ min(a1*а16,а2*а17,..,а15*аn) http://www.cyberforum.ru/cpp-beginners/thread122854.html
ТЕМА:Динамический массив 1)Даны действительные числа a1,..an. Получим:min(a1*а16,а2*а17,..,а15*аn) ТЕМА:Массив 2)Даны действительные числа а1,..а26.Требуеться домножить все члены последовательности а1,а26 на квадрат ее найменьшего члена если а1>=0,и на квадрат ее найбольшего члена если а1<0 Помогите пожалуйста=))))
C++ Верно ли, что среди точек есть хотя бы одна, принадлежащая квадрату? Дано натуральное n, действительные x_1, y_1, ... x_n, y_n Выяснить, верно ли, что среди точек (x_i, y_i), i=1, ..., n есть хотя бы одна, принадлежащая квадрату, стороны которого параллельны координатным осям, центр совпадает с началом координат, а длина стороны равна 1. Помогите решить ... что то не совсем получается....програмирую недавно....а скоро курса сдавать...... подробнее

Показать сообщение отдельно
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
28.04.2010, 22:48     Матрица!!! Курсовое задание!!!
Вот программа, советую протестировать... как она работает, поймете, запустив ее несколько раз))
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
71
72
#include <iostream>
#include <time.h>
const int N=20;
using namespace std;
int main()
{
    srand (time(NULL));
    int matr[N][N];
    int i, j, n, k, p, z, t, y,r;
    cout<<"Vvedite n: ";
    cin>>n;
//формируем матрицу случайных чисел
    cout<<"Matrica: "<<endl;
    for(i = 0; i < n; ++i)
        for(j = 0; j < n; ++j)
            matr[i][j]=1+rand()%15;
//печать матрицы
    for(i = 0; i < n; ++i)
    {
        for(j = 0; j < n; ++j)
            cout<<matr[i][j]<<"\t";
        cout<<endl;
    }
    //минимальый элемент 
    int min=matr[0][0];//минимальному элементу присваивается 1-й элемент матрицы
    z=n/2+1; //до какой троки идет двиг
    t=n/2-1;//до какой троки идет двиг
    if (n%2!=0) //если n нечетное
        r=n/2+1; //первая позиция цикла
    else //иначе
        r=n/2; //первая позиция цикла
    for (j=n/2-1, k=r; j>=0, k<n; j--, k++,  z++, t--) //обход матрицы по столбцам
        for (int i=0, p=n-1; i<z, p>t; i++, p--) //обход матрицы по строкам
            {
                //здесь, думаю, все понятно
                cout<<" "<<matr[i][j]<<" "<<matr[p][k]<<" ";
                if (matr[i][j]<min)
                    min=matr[i][j];
                if (matr[p][k]<min)
                    min=matr[p][k];
            }
    cout<<"\nMin= "<<min<<endl;
 
//максимальный элемент найден через один общий цикл
    int max=matr[0][n-1];
    if (n%2!=0) //если n нечетное
    {
        z=n/2+1;
        y=n/2;
        t=n/2;
        max=matr[t][t];
        cout<<max;
    }
    else //иначе
    {
        z=n/2;
        t=n/2-1;
        y=n/2-1;
    }
    for (j=n/2, k=y; (j<n)&&(k>=0); j++, k--, z--, t--)
        for (i=0, p=n-1; (i<z)&&(p>t); i++, p--)
        {
            cout<<" "<<matr[i][j]<<" "<<matr[p][k]<<" ";
            if (matr[i][j]>max)
                max=matr[i][j];
            if (matr[p][k]>max)
                max=matr[p][k];
        }
    cout<<"\nMax= "<<max<<endl;
 
    return 0;
}
Комментировать все просто лень)...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru