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

Задача на двумерный массив

18.12.2015, 22:57. Показов 889. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано натуральное число n. С помощью двумерного действительного числового массива [xij]i=1,2; j=1,...,n на плоскости задано n точек так, что x1j, x2j – координаты j-й точки. Какие из этих точек две точки являются наиболее близкими? Ниже есть программа, в ней проблема, надо чтобы n вводилось с клавиатуры. Если вместо const int n=4 ввести:
C++
1
2
3
int n;
cout<<"Enter n";
cin>>n;
То выведет ошибку, хз как сделать, помогите пожалуйста.

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 <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    int j1min = 0, j2min = 1;
    const int n=4;
    double x[2][n]={ {1.,-5.4,2.,99.9},{-1.4,-0.4,-2.9,-99.9} };
    double distmin = (x[0][0] - x[0][1])*(x[0][0] - x[0][1]) + (x[1][0] - x[1][1])*(x[1][0] - x[1][1]);
    for (int j1 = 0; j1<n - 1; j1++)
        for (int j2 = j1 + 1; j2<n; j2++)
        {
            double dist = (x[0][j1] - x[0][j2])*(x[0][j1] - x[0][j2]) + (x[1][j1] - x[1][j2])*(x[1][j1] - x[1][j2]);
            if (dist<distmin)
            {
                j1min = j1;
                j2min = j2;
                distmin = dist;
            }
        }
    cout << "1 point " << x[0][j1min] << ',' << x[1][j1min] << endl;
    cout << "2 point " << x[0][j2min] << ',' << x[1][j2min] << endl;
    cout << "distance=" << sqrt(distmin) << endl;
    system("pause");
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.12.2015, 22:57
Ответы с готовыми решениями:

Найти сумму элементов главной диагонали матрицы
Дана квадратная матрица найти сумму элементов главной диагонали. Помогите пожалуйста решить в с++,заранее благодарна

задача на двумерный массив
.Задана квадратная матрица. Поменять местами строку с максимальным элементом на главной диагонали со строкой с заданным номером m ...

Задача на двумерный массив
Нужен код, реализованный на C++ Реализуйте следующий алгоритм обработки двумерной матрицы : поиск вхождений вектора-образца в каждую...

5
 Аватар для Alexander Bakay
100 / 52 / 39
Регистрация: 15.12.2015
Сообщений: 329
18.12.2015, 23:11
Сделайте двумерный динамический массив, в ином случае, с обычным придется работать лишь с размером равным константе и не как иначе...
0
 Аватар для Andrey1997
-1 / 2 / 0
Регистрация: 03.10.2015
Сообщений: 67
19.12.2015, 00:14  [ТС]
Цитата Сообщение от Alexander Bakay Посмотреть сообщение
Сделайте двумерный динамический массив
Сделал, все равно ошибка.

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
// SobolevIF55GVariant4Zad2.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    int j1min = 0, j2min = 1, n;
    cout << "enter n";
    cin >> n;
    double *NewMas = new double x[2][n];
    double *NewMas = { { 1., -5.4, 2., 99.9 }, { -1.4, -0.4, -2.9, -99.9 } };
    double distmin = (x[0][0] - x[0][1])*(x[0][0] - x[0][1]) + (x[1][0] - x[1][1])*(x[1][0] - x[1][1]);
    for (int j1 = 0; j1<n - 1; j1++)
        for (int j2 = j1 + 1; j2<n; j2++)
        {
            double dist = (x[0][j1] - x[0][j2])*(x[0][j1] - x[0][j2]) + (x[1][j1] - x[1][j2])*(x[1][j1] - x[1][j2]);
            if (dist<distmin)
            {
                j1min = j1;
                j2min = j2;
                distmin = dist;
            }
        }
    cout << "1 point " << x[0][j1min] << ',' << x[1][j1min] << endl;
    cout << "2 point " << x[0][j2min] << ',' << x[1][j2min] << endl;
    cout << "distance=" << sqrt(distmin) << endl;
    system("pause");
    return 0;
}
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
19.12.2015, 00:21
Цитата Сообщение от Andrey1997 Посмотреть сообщение
double *NewMas = new double x[2][n];
* * double *NewMas = { { 1., -5.4, 2., 99.9 }, { -1.4, -0.4, -2.9, -99.9 } };
переопределение имен

Добавлено через 1 минуту
Цитата Сообщение от Andrey1997 Посмотреть сообщение
double *NewMas = new double x[2][n];
что-то не то, х какой то?!

Добавлено через 1 минуту
C++
1
2
 double *х= new double [2];//двумерный так нельзя 
....
так наверно...
0
 Аватар для Andrey1997
-1 / 2 / 0
Регистрация: 03.10.2015
Сообщений: 67
19.12.2015, 18:12  [ТС]
Цитата Сообщение от _Valera_ Посмотреть сообщение
двумерный так нельзя
У меня в условии написано
Цитата Сообщение от Andrey1997 Посмотреть сообщение
С помощью двумерного действительного числового массива
Добавлено через 35 секунд
Помогите .

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
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    int j1min = 0, j2min = 1, n;
    cout << "enter n";
    cin >> n;
    double *NewMas = new double x[2][n];
    double *NewMas = { { 1., -5.4, 2., 99.9 }, { -1.4, -0.4, -2.9, -99.9 } };
    double distmin = (x[0][0] - x[0][1])*(x[0][0] - x[0][1]) + (x[1][0] - x[1][1])*(x[1][0] - x[1][1]);
    for (int j1 = 0; j1<n - 1; j1++)
        for (int j2 = j1 + 1; j2<n; j2++)
        {
            double dist = (x[0][j1] - x[0][j2])*(x[0][j1] - x[0][j2]) + (x[1][j1] - x[1][j2])*(x[1][j1] - x[1][j2]);
            if (dist<distmin)
            {
                j1min = j1;
                j2min = j2;
                distmin = dist;
            }
        }
    cout << "1 point " << x[0][j1min] << ',' << x[1][j1min] << endl;
    cout << "2 point " << x[0][j2min] << ',' << x[1][j2min] << endl;
    cout << "distance=" << sqrt(distmin) << endl;
    system("pause");
    return 0;
}
Добавлено через 2 часа 50 минут
Компайлеру надо знать заранее какой будет размер массива, по этому мне выдает ошибку "expected constant expression". Но по условию надо вводить n с клавиатуры, а не использовать константу, кто-то может сказать как это делать??
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
19.12.2015, 18:17
Цитата Сообщение от Andrey1997 Посмотреть сообщение
кто-то может сказать как это делать??
читай динамические массивы, или вектор.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.12.2015, 18:17
Помогаю со студенческими работами здесь

Найти максимальный элемент матрицы
Найти максимальный элемент матрицы

Задача на двумерный массив
Для заданной матрицы 8х8 найти К, что К-я строка матрицы совпадает с К-ым столбцом. Найти сумму элементов в тех строках, которые содержат...

Задача (двумерный массив).
Помогите пожалуйста решить задачу! В матрице n*m расположить элементы строки с индексом К, по возрастанию. Значение К, выводится....

Задача на двумерный массив
Задан массив А, состоящий из n строк и m столбцов. Измените все элементы на противоположные по знаку. у меня получился такой код ...

Задача на двумерный массив
Дан двумерный массив из 5 строк и 6 столбцов. Определить для каждого столбца максимальный элемент. Среди этих элементов найти минимальный.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru