Форум: Форум C++Разное
Новые темы: 00
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: в обратном порядке + матрицы
 
 автор: Coller9   (01.12.2009 в 18:26)   письмо автору
 
 

Составить одномерный массив из слов, записанных в обратном порядке, то есть первым элементом массива будет последнее слово, вторым предпоследнее


4.10. Дана действительная матрица А размером MxN, где M, N - заданные натуральные числа Сформировать одномерный действительный массив В, в котором элемент B(j) равен 1, если элементы j-ого столбца матрицы составляют строго возрастающую последовательность и ноль в противном случае (j= 1,2,..., N).


heelp

  Ответить  
 
 автор: AlMag   (02.12.2009 в 02:54)   письмо автору
 
   для: Coller9   (01.12.2009 в 18:26)
 


#include <iostream>
#include <vector>

using namespace std;

vector< vector<double> > a;

int main()
{
  int n, m;
  scanf("%d %d", &m, &n);
  a.assign(m, vector<double>(n, 0.0));
  for(int i=0; i<m; i++)
    for(int j=0; j<n; j++)
       scanf("%lf", &a[i][j]);
  
  vector<doubleb(n, 1.); // по умолчанию - все 1
  for(int j=0; j<n; j++)
  {
     for(int i=1; i<m; i++)
       if (a[i][j]<=a[i-1][j]) // не возрастающая последовательность, ответ 0
       {
          b[j] = 0; break;
       }
  }
  return 0;
}

для работы с дробными числами в некоторых задачах для сравнения надо епсилон юзать,
но это не обязательно.

а на счет первой задачи, то поищите на форуме, недавно похожая была рассмотрена

  Ответить  
 
 автор: Coller9   (02.12.2009 в 09:31)   письмо автору
 
   для: AlMag   (02.12.2009 в 02:54)
 

almag thx
но вот только 3.01 нету vector.h ну и само сабой ругается на

vector< vector<double> > a;

=(

  Ответить  
 
 автор: AlMag   (02.12.2009 в 11:09)   письмо автору
 
   для: Coller9   (02.12.2009 в 09:31)
 

ну это с использованием СТЛ.
если на чистом С надо, то просто можно память выделить массиву стандартными функциями.
но, если Вы знаете пределы, например N, M <= 1000 всегда, то можно статический массив завести


  double a[1000][1000];
  .....
   a.assign(m, vector<double>(n, 1)); // это убрать.

   ...
  double b[1000];
   for(int j=0; j<n; j++)
   {
       b[j]=1.;
       for(...)
   }



вот так заменить, и норм

  Ответить  
 
 автор: Coller9   (02.12.2009 в 16:44)   письмо автору
 
   для: AlMag   (02.12.2009 в 11:09)
 

оххх , я запутался , вроде все заменил , ругается на scanf типо функция should have a prototype
еще 1000 1000 много)) меньше пишу , тогда не ругается

  Ответить  
 
 автор: Coller9   (02.12.2009 в 16:45)   письмо автору
 
   для: Coller9   (02.12.2009 в 16:44)
 

можно полный текст программы ? ))

  Ответить  
 
 автор: AlMag   (02.12.2009 в 18:55)   письмо автору
 
   для: Coller9   (02.12.2009 в 16:45)
 


#include <stdio.h>

#define FOR(i, a, b) for(int i=a; i<b; ++i)

double a[1000][1000];
double b[1000];

int n, m;

int main()
{
  scanf("%d %d", &m, &n);
  FOR(i, 0, m) FOR(j, 0, n) scanf("%lf", &a[i][j]);
  FOR(j, 0, n)
  {
    b[j] = 1.;
    FOR(i, 1, m)
       if (a[i][j] <= a[i-1][j]) { b[j] = 0.; break; }
  }
  return 0;
}

  Ответить  
 
 автор: Coller9   (02.12.2009 в 19:05)   письмо автору
 
   для: AlMag   (02.12.2009 в 18:55)
 

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <string.h>

void main(){
int k=0,i;
char *str=new char[50];
char *w[10]={0},*m[10]={0};
char *chr;
clrscr();
gets(str);
chr=strtok(str," ");
while(chr){
w[k++]=chr;
chr=strtok(NULL," ");
}
for(i=0;i<k;i++)
//if(strlen(w[k])>0)
m[k-i-1]=w[i];
for(i=0;i<k;i++) cout<<m[i]<<" ";
getch();

вот :)
спасибо за помощь

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования