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

Работа с элементами над/под побочной диагональю - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перекодировщик http://www.cyberforum.ru/cpp-beginners/thread527233.html
Есть четыре среды: 1) среда 1251 2) среда 866 3) KOI-8 4) UTF-8 Запускаем программу, и она должна открыть запрашиваемый файл, перекодировать на одну из выбранных кодировок и вывести это в новом файле Примечание: программа должна уметь перекодировать также из одной среды в другую, сделать быстродейственную программу.
C++ В двумерной матрице найти минимальные элементы каждой строки и переставить на первое место В двумерной матрице состоящей из N на M элементов, найти min элементы каждой строки и min переставить на первое место http://www.cyberforum.ru/cpp-beginners/thread527232.html
Слияние двух массивов, решение с помощью указателей C++
помогите,пожалуйста,решить! Задан массив A из N элементов и массив B из M элементов. Сформировать массив L из массивов A и B путем их слияния так, чтобы сначала располагались все элементы массива A, а затем все элементы массива B. Значения N и M ввести с клавиатуры, а массивы A и B сформировать из случайных чисел в диапазоне от 0 до 100
поставить элемент на указанную позицию,файлы,cи C++
нужно написать программу на си которая ставит некоторую цифру на указнную позицию проблема как прописать код так чтобы цифра не заменяла то что стоит на укзанной позиции а смещала то что стоит на этой позиции пыталась создать временный файл и еще дополнительный массивчик не получается ничего
C++ Телефонный справочник C (без классов) http://www.cyberforum.ru/cpp-beginners/thread527198.html
Написать информационную систему "Телефонный справочник" со следующими требованиями: - динамическое изменение размеров массива для хранения информации; - автоматическая загрузка данных из файла в программу при старте программы; - автоматическая выгрузка данных из программы в файл при завершении программы; - добавление, изменение и удаление информации об абоненте; - поиск абонента по номеру...
C++ Проблемка с указателями Нужно перегрузить "+" чтобы он делал слияние 2ух массивов(элементы не повторялись) вот код: #include <iostream.h> #include <stdio.h> class mas {int n,*a; public: mas(); ~mas(); подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
24.03.2012, 22:59     Работа с элементами над/под побочной диагональю
Цитата Сообщение от Raikerian Посмотреть сообщение
Код получился достаточно громоздким, и мне кажется его можно в некоторых местах упростить, но идей уже нет.
можно совместить:

Цитата Сообщение от Raikerian Посмотреть сообщение
C++
1
2
3
4
double **A = new double *[size];
 int i, j;
 for (i=0; i<size; ++i)
 *(A+i) = new double [size];
Цитата Сообщение от Raikerian Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
cout << "\nИсходная матрица:" << endl;
 for (i=0; i<size; ++i)
 {
 for (j=0; j<size; ++j)
 {
 *(*(A+i)+j) = double (rand()%901+100)/100;
 cout << *(*(A+i)+j) << "\t";
 }
 cout << endl;
 }
Цитата Сообщение от Raikerian Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
double S1 = 0,
 S2 = 0,
 // кол-во элементов по одну из сторон побочной диагонали
 S_num = 0;
 // Находим S1, S2 и кол-во эл-тов
 for (i=0; i<size; ++i)
 for (j=0; j<size; ++j)
 {
 if (i+j<size-1) 
 {
 S1 += *(*(A+i)+j);
 S_num++;
 }
 if (i+j>size-1) S2 += *(*(A+i)+j);
 }
все это можно сделать за один раз с помощью двух циклов:
C++
1
2
 for (i=0; i<size; ++i)
 for (j=0; j<size; ++j)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru