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

Переформировать матрицу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ структура данных о десяти препаратах http://www.cyberforum.ru/cpp-beginners/thread28096.html
здравствуйте. помогите пожалуйста в решении задачи, условие во вложенном файле: вот что у меня получилось, но я вошел в ступор и незнаю как сделать дальше... #include<stdio.h> #include<conio.h> #include<math.h> #include <time.h> #include <stdlib.h>
C++ вывод в окно Здраствуйте. Суть вопроса в следующем: дана таблица данных по них выполняется ряд мат. операций и в итоге получаем ответ в виде i= и N=. ну все понятно как это делать и как выводить на экран в консоле...а вот как это сделать чтоб вывод был именно в окно win? просьба объяснить детально, а то я начинающий и с окнами еще не работал. Использую VS 2008. #include "iostream" #include "fstream"... http://www.cyberforum.ru/cpp-beginners/thread28087.html
%ProgramFiles% C++
Почему не копирует в чем проблема? Если путь так, все отлично CopyFile("C:\\Program Files\\Test\\Test.txt", "Test.txt" ,FALSE); если так то, нечего не выходит CopyFile("%ProgramFiles%\\Test\\Test.txt", "Test.txt" ,FALSE);
C++ Работа с файлами
Привет Всем. Мне очень нужна ваша помощь в решении такой задачи: Нужно из файла содержащего текст, пробелы и ненужные знаки выбрать и записать в переменные некоторые числа с плавающей запятой. Спасибо)
C++ Что опять не так в функции? http://www.cyberforum.ru/cpp-beginners/thread28031.html
#include <iostream> using namespace std; void power(char='*',int=1,float=7); int main() { cout<<power('*'); cout<<power(34.51); cout<<power(37); cout<<power(); }
C++ Как правильно вывести часы минуты и секунды в функции #include <iostream> using namespace std; long hms_to_secs(long int,long int,long int); int secs_to_time(int); int main() { int h,m,s; int sec; cout<<"vvedite 4as="; cin>>h; подробнее

Показать сообщение отдельно
Xin4
0 / 0 / 0
Регистрация: 26.03.2009
Сообщений: 10

Переформировать матрицу - C++

30.03.2009, 18:56. Просмотров 558. Ответов 6
Метки (Все метки)

Вот, собственно, такое задание:
"Из положительных элементов матрицы N сформировать матрицу M(10, KMAX), располагая их в строках матрицы подряд, где KMAX - максимальное число положительных элементов строки матрицы N. Записать нули на место отсутсвтующих элементов. N(10, 10)"

Вот моя попытка... компилятор вешаецо)
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
# include<iostream.h>
# include<stdlib.h>
# include<iomanip.h>
# define x 10 
# define y 10
 
void input(float n[][10]);  //ф-ия заполнения массива
void print(float n[][10]);  //Вывод массива на экран
void result(float n[][10]);  //отрицательные элементы заменяем нулями
 
int main(){
    float n[x][y]; //наш массив
    input(n); //вызываем функцию "input"-функцию заполнения массива. Возвращаемое зн-е: n
    cout<<"Исходный массив:\n";
    print(n); //вызываем функцию "print"-функцию вывода массива на экран. Возвращаемое зн-е: n
    result(n); //вызываем функцию "result"-ф-ю замены отр. чисел нулями. Возвращаемое зн-е: n
    cout<<"\nИзмененный массив:\n";
    print(n); //еще раз вызываем ф-ю вывода массива на экран
   return 0;
   }
void input(float n[10][10]) //заполняем массив случайными числами
 {int now=10;  
  srand(now); //устанавливаем начальное число now для ряда случайных чисел
  for (int i=0; i<x; i++) //начинаем с нул. эл-та, пока i<x, увеличивать i на ед. и  вып. следующее:
     for (int j=0; j<y; j++) //начинаем с нул. эл-та, пока j<y, увеличивать j на ед. и  вып. следующее:
    n[i][j]=rand()-4000;  //заполняем массив числами от -4000
 }
void print(float n[10][10])  //выводим массив на экран
 {  for (int i=0; i<x; i++)  //начинаем с нул. эл-та, пока i<x, увеличить i на ед. и  вып. следующее:
     {for (int j=0; j<y; j++) //начинаем с нул. эл-та, пока j<y, увеличивать j на ед. и  вып. следующее:
      cout<<setw(7)<<n[i][j]; // выводим на экран элементы массива по порядку
      cout<<endl;  //переводим строку
     }
 }     
void result(float n[10][10]) //отрицательные элементы заменяем нулями
    {for (int i=0; i<x; i++)  //начинаем с нул. эл-та, пока i<x, увеличить i на ед. и  вып. следующее:
      for (int j=0; j<y; j++) //начинаем с нул. эл-та, пока j<y и эл-т массива<0, увеличивать j на ед. и  вып. следующее:
      {
      while (n[i][j]<0)
        {
     float temp;
         float t;
     temp=n[i][j]; //временному массиву придаем значение отрицательного эл-та массива
     j++;             // берем след эл-т массива
     t=n[i][j]; //временной переменной придаем значение следующего эл-та массива
     j--;             //идем на шаг назад
     n[i][j]=t;       //из отрицательного эл-та делаем положительный
     j++;             //идем на шаг вперед
     n[i][j]=temp;  //в итоге, отрицательный элемент сместили на этаж повыше..     
        }
      }
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru