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

Уплотнить заданную матрицу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ целочисленная квадратная матрица http://www.cyberforum.ru/cpp-beginners/thread140652.html
Дана целочисленная квадратная матрица. Определить сумму элементов в тех строках, которые не содержат отрицательных элементов. Определить минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить... В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) сумму отрицательных элементов массива; 2) произведение элементов массива, расположенных между максимальным и минимальным элементами. Упорядочить элементы массива по возрастанию. #include <stdio.h> #include <iostream> #include <time.h> http://www.cyberforum.ru/cpp-beginners/thread140651.html
C++ Написать программу записи к файлу элементов типа структура
Написать программу записи к файлу элементов типа структура для реестрации автомобилей с полями: Марка автомобиля, год выпуска, цвет, номер. Распечатать информацию из файла про автомобили , с годом выпуска не поже 2005 года #include <fstream.h> #include <iostream.h>
Ввод вручную размерности двумерного массива C++
Здравствуйте уважаемые форумчане. Такая небольшая проблема. У нас есть двумерный массив, размерность n на n. С помощью #define n 5 указываю 5 на 5. Захотел вводить вручную n: int n;cout<<"n:";cin>>n; ошибки. Как ввести n подскажите. И еще проблема, когда вывожу двумерку, то вывод примерно такой: 1 11 121
C++ не получается с графикой http://www.cyberforum.ru/cpp-beginners/thread140624.html
помогите, вроде все правильно, а фигура не двигается((( #include<stdio.h> #include<stdlib.h> #include<graphics.h> #include<dos.h> #include<conio.h> void main() { int x,y,speed,GD,GM,color=1,time=0,c_l=1; char s;
C++ Дан файл,содержащий текст на русском языке.& Дана строка, #1 Дан файл,содержащий текст на русском языке.Определить сколько раз встречается самое длинное слово. #2 Дана строка,состоящая из русских слов,разделенных пробелами одним или несколькими).Найти длину самого длинного слова. Помогите кому не трудно Буду очень благодарен Добавлено через 7 часов 56 минут Поможет кто-нибудь?) подробнее

Показать сообщение отдельно
PatchPro
5 / 5 / 0
Регистрация: 11.04.2010
Сообщений: 40
28.05.2011, 07:50
Цитата Сообщение от winelove Посмотреть сообщение
1)Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями.
2)Найти номер первой из строк, содержащей хотя бы один положительный элемент.
У меня было такое же задание, но для приложения с формами. Потому решил выложить этот вариант:
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
85
86
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <windows.h>
#include <conio.h>
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int n=5, m=5, i,j, y,numstr, temp;          //n-кол-во строк, m-кол-во столбцов
bool res;
int mas[5][5]={{-1,-2,-3,-4,-5},                 //матрица исходная.
{0,0,0,0,0},
{2,4,5,3,2},
{5,5,5,5,5},
{2,4,5,3,2}
};
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    for(i=0; i<n; i++)                                //вывод матрицы
        {
      for(j=0; j<m; j++)
          StringGrid1->Cells[j+1][i+1] = IntToStr(mas[i][j]);
        }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
        for(i=0; i<n; i++)
        {
                temp=0;
                for(j=0; j<m; j++)
                        if(mas[i][j]!=0)
                                temp=1;
                if(temp==0)
                {
                        for(y=i; y<n-1; y++)
                                for(j=0; j<m; j++)
                                        mas[y][j]=mas[y+1][j];
                        n--;
                }
        }
        for(i=0; i<m; i++)
        {
                temp=0;
                for(j=0; j<n; j++)
                        if(mas[j][i]!=0)
                                temp=1;
                if(temp==0)
                {
                        for(y=i; y<m-1; y++)
                                for(j=0; j<n; j++)
                                        mas[j][y]=mas[j][y+1];
                        m--;
                }
        }
 
res=0;                                                 //поиск номера 1-ой из строк...
for(i=0; i<n; i++)
for(j=0; j<m; j++)
if ((mas[i][j] > 0) && (res!=1))
{
numstr=i;
res=1;
}
 
for (i = 0; i < StringGrid1->RowCount; i++) StringGrid1->Rows[i]->Clear();   //очистка стринггрида
 
for(i=0; i<n; i++)                                       //вывод матрицы уплотненной
for(j=0; j<m; j++)
StringGrid1->Cells[j+1][i+1] = IntToStr(mas[i][j]);
 
Label2->Caption=IntToStr(numstr);                //вывод номера 1-ой из стрк...        
}
//---------------------------------------------------------------------------
+вложил готовый исходник
Вложения
Тип файла: zip zadanie.zip (46.0 Кб, 12 просмотров)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru