![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Дмитрий |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здравствуйте! Не писал на С++ уже больше полутора лет, друг попросил помочь, сам никак не разберусь...
Есть 2 задачи: - Дан одномерный массив чисел, среди элементов которого есть одинаковые. Создать новый массив из различных элементов исходного массива. - Дана действительная матрица размером n ? m, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением. Написал следующий код: Задача №1 Предполагаемый алгоритм: - Пусть дан массив a - Сравниваем a[k] элемент со всеми остальными - Если значения совпадают (но не совпадают индексы) элементов массива, то увеличиваем f, если в результате работы цикла значение f равно 1, то число добавляем в другой массив. Код #include <iostream.h> #include <conio.h> void main() { clrscr(); int n,f,d,i,j,k,a[100],b[100]; f=1; d=1; cin >> n; for (i=1; i<=n; i++) { cout << "Введите длину массива " << i << " :"; cin >> a[i]; } for (i=1; i<=n; i++) { cout << " " << a[i] << " "; } for (j=1; j<=n; j++) { for (k=1; k<=n; k++) { if (a[k]==a[j]) { if (k!=j) { f++; } } if (f==1) { b[d]=a[j]; d++; } } } for (i=0; i<=n; i++) { cout << b[i]; } } Задание 2: - Берем матрицу и построчно находим минимальное значение. - Каждое минимальное значение(а также координаты в матрице) добавляем в массив b. - Находим максимальное значение среди элементов массива b, и выводим это значение. Код #include <iostream.h> #include <conio.h> void main () { int n,m; clrscr(); cout << "Enter rows:"; cin >> n; cout << "Enter cols:"; cin >> m; int i,f,j,k,a[10][10],b[10][3],d,t; f=1; for (i=1; i<=n; i++) { for (j=1; j<=m; j++) { cout << "Enter a[" << i << "," << j << "]"; cin >> a[n][m]; } } for (d=1;d<=n; d++) { k=a[d][1]; for (t=1;t<=m;t++) { if (k<a[d][t]) {k=a[d][t]; b[f][1]=k; b[f][2]=d; b[f][3]=t;} } } k=b[1][1]; for (j=1; j<=m; j++) { if (b[j][1]>k) {k=b[j][1]; d=b[j][2]; t=b[j][3];} } cout << "Max: " << k << " Str: " << d << " Stolb: " << t; } Оно компилируется, но не работает, подскажите пожалуйста как лучше реализовать эти задачи? Заранее спасибо! |
![]() ![]() |
![]() |
Текстовая версия | 23.07.2025 14:14 |