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

Работа со строками матрицы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ GDI+ и сохранение Bitmap* http://www.cyberforum.ru/cpp-beginners/thread1055739.html
Всем привет! Недавно начал использовать GDI+, так что приходится задавать тупые вопросы :) Есть некий метод, который загружает из файла битмап, вырезает из него прямоугольник и должен сохранить в файл. Вот тут проблема: NewBitMap.Clone(); возвращает указатель на Bitmap, а сохранять можно только сам Bitmap. Вопрос: Как сохранить вырезанное изображение? void IEGDIp::CutRectangle() { //...
C++ Ошибка линкования Здаравствуйте, столкнулся с такой ошибкой undefined reference to `textcolor(int)' undefined reference to `_setcursortype(int)' undefined reference to `gotoxy(int, int)' где-то читал, что нужно библиотеку подключить -libsound2 где ее можно найти? программа написана на DEV C++ http://www.cyberforum.ru/cpp-beginners/thread1055735.html
рядом с каждой буквой записать заданное пользователем количество таких же букв C++
доброго времени суток. я уже создавала такую тему, но мне не помогло, надеюсь меня не забанят :D задание было такое. вычислить в строке количество букв (трудностей не вызвало), в коде это уже есть, осталось рядом с каждой буквой записать заданное пользователем количество таких же букв. т.е мы вводим строчку заново, или используем уже введенную , например было Helo, нужно получит HHHeeelllooo....
Создайте класс StringVector, производный от vector<void*> C++
Создайте класс StringVector, производный от vector<void*>. Переопределите функции push_back() и operator так, чтобы они принимали и возвращали string*. #include <iostream> #include <string> #include <vector> using namespace std; class StringVector: public vector<void*> { public: StringVector(){} string* push_back(string*str){
C++ Работа со стеком ( http://www.cyberforum.ru/cpp-beginners/thread1055725.html
Ребятки, помогите. Кто-то может написать код или исправить мой ?? Стек Функции: 1.Создание пустого стека 2.Добавление элемента в стек 3.Печать стека (вывод на дисплей) 4.Извлечение (удаление) элемента из стека 5.Запись стека в файл 6.Уничтожение стека 7.Восстановление (чтение) стека из файла
C++ fatal error LNK1168: не удается открыть F:\Interp\Debug\Interp.exe для записи После того,как в 38 строке к k приписал "=0"начало выбивать ошибку "fatal error LNK1168: не удается открыть F:\Interp\Debug\Interp.exe для записи" #include <iostream> #include <conio.h> #include <clocale> using namespace std; double func(double,double);//параметри для ф-ли Ньютона //double FN(int,double,int);//Формула Ньютона int fact(int);//факторіал double... подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6159 / 2888 / 282
Регистрация: 04.12.2011
Сообщений: 7,686
Записей в блоге: 3
30.12.2013, 04:51     Работа со строками матрицы
Цитата Сообщение от Merasada Посмотреть сообщение
И как то не волнует как да что я буду делать, ведь нам этого просто не объясняли.
Преподаватели склонны к садизму? Перечитывая тему верю безоговорочно.
Цитата Сообщение от Merasada Посмотреть сообщение
" А вот через считывание файла сделайте"
Дык и вопрос тогда по другому стоял бы и в другой теме.
Раз основное решено, то осталось: Как записать/считать последовательность целых чисел из/в файл/а?
Информации полно, даже если книжки нет никакой. И главное, делается это легче лёгкого.

Добавлено через 7 часов 57 минут
Merasada, ловите
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
73
74
75
76
77
78
79
80
81
82
83
84
#include <iostream>
#include <fstream>
#include <set>
#include <Windows.h>//для руссификации (в свойствах окна консоли выберите шрифт lusinda))
using namespace std;
int main(){
SetConsoleCP (1251); SetConsoleOutputCP (1251);//для руссификации
 
const int rows=7;
const int columns=5;
//с сохранением и чтением маирицы из файла, думаю у Вас не будет проблем?
int source_matr[rows][columns]={
    {2,3,4,5,6},//less (2)
    {1,2,3,4,5},//max  (3)
    {2,3,4,5,7},//min  (1)
    {1,3,2,4,5},//max  (3)
    {1,3,4,2,5},//max  (3)
    {1,3,4,2,5},//max  (3)
    {3,2,4,5,6}//less  (2)
};
 
const char* filename = "Matrix_file";
ofstream out_file(filename, ios::out);
if(!out_file){
cout<<"Не удалось открыть файл!";
}else{
for(int i = 0; i < rows; ++i){
for(int j = 0; j < columns; ++j){
out_file<<source_matr[i][j]<<'\n';
}
}
out_file.close();
}
 
int matr[rows][columns]={0};
 
ifstream input_file(filename, ios::in);
if(!input_file){
cout<<"Не удалось открыть файл!";
}else{
for(int i = 0; i < rows; ++i){
for(int j = 0; j < columns; ++j){
input_file>>matr[i][j];
 
}
}
input_file.close();
}
 
cout<<"Введена матрица"<<endl;
for(int i = 0; i < rows; ++i){
for(int j = 0; j < columns; ++j){
cout<< matr[i][j]<<" ";
}
cout<<endl;
}
 
set<int> first_set;//контейнер для выбранной строки-кандидата в чемпионы)
set<int> second_set;//контейнер для перебора и сравнения с остальными
 
int count_of_max_sets=0;//счётчик результата
int count_of_current_set=0;//счётчик текущего результата то есть для данной выбранной строки (с индесом i)
int num_row_of_max_set=0;//номер текущего (и в последствии окончательного) победителя
for(int i = 0; i < rows; ++i){
    first_set.clear();//очищаем
    for(int n = 0; n < columns; ++n)first_set.insert(matr[i][n]); //заполняем строкой-кандидатом
 
    for(int j = 0; j < rows; ++j){
if(i == j)continue;//с собой не сравниваем
    second_set.clear();//очищаем
for(int n = 0; n < columns; ++n)second_set.insert(matr[j][n]);//заполняем остальными строками по очереди
if(first_set != second_set) count_of_current_set++;//сравниваем и в случае успеха увеличиваем счет  
if(count_of_current_set > count_of_max_sets){
count_of_max_sets = count_of_current_set;//если надо меняем победителя
num_row_of_max_set=i;//запоминаем номер победителя
}
}
count_of_current_set = 0;//сбрасываем результат для текущей i-строки, переходя к следующей
}
cout<<"Номер первой встреченной строки имеющей минимум \"строк-побратимов\" равен "<<num_row_of_max_set+1<<endl;
cout<<"Количество её \"строк-непобратимов\" равно "<<count_of_max_sets<<endl;
cin.get();
return 0;
}

Не по теме:


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

 
Текущее время: 20:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru