Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Spotter
8 / 8 / 2
Регистрация: 09.11.2010
Сообщений: 130
#1

Упорядоченная строка - C++

03.05.2011, 03:00. Просмотров 1437. Ответов 7
Метки нет (Все метки)

Может кто-нибудь подсказать, как этот кусок кода реализовать?

Найти в массиве первую строку, все элементы которой упорядочены по убыванию. Изменить упорядоченность элементов этой строки на обратную. (Массив двумерный)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2011, 03:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Упорядоченная строка (C++):

Дана последовательность вещественных чисел а1, а2, …., а15 упорядоченная по возрастанию, и число n, не равное - C++
Дана последовательность вещественных чисел а1, а2, …., а15 упорядоченная по возрастанию, и число n, не равное ни одному из чисел...

Найти все натуральные числа <= n, десятичная запись которых - строго упорядоченная последовательность - C++
Найти все натуральные числа, не превосходящие заданного числа N, десятичная запись которых есть строго возрастающая или строго убывающая...

6.62. Дана непустая и упорядоченная по возрастанию последовательность целых чисел, оканчивающаяся числом 10 ООО. Определить порядковый номер первого ч - C++
6.62. Дана непустая и упорядоченная по возрастанию последовательность целых чисел, оканчивающаяся числом 10 000. Определить порядковый...

Дана строка. Подсчитать сколько раз первая строка входит во вторую - C++
Дана строка. Подсчитать сколько раз первая строка входит во вторую. Например: вводим &quot;при&quot; (строка должна вводиться с клавиатуры, как на...

Дана строка символов. Проверьте,является ли данная строка палиндромом - C++
Парни нужна помощь,нужен код решения этой задачи на языке с++. Дана строка символов. Проверьте,является ли данная строка палиндромом.

Почему строка, считанная из файла и такая же строка в программе не равны, хотя они, вроде бы, одинаковы? - C++
Есть две строки. MSK=&quot;Москва&quot; и from, считанная из текстовика, через getline Для проверки вывожу эти обе строки, на первый взгляд...

7
Gepar
1180 / 536 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
03.05.2011, 03:24 #2
Ну алгоритм примерно таков:
ищем в массиве char строку (наверное она ограничена каким-то символом, например точкой вот от этого можно и отталкиваться). Далее сравниваем коды символов в строке, если код каждого следующего символа больше (потому что по таблице код b>кода a) кода предыдущего то символы в строке расположены по убыванию. После этого наверное стоит посимвольно перекопировать всё в обратном порядке в другой массив.
Ну это я так понял задание, может я сонный и понял неправильно )
0
Spotter
8 / 8 / 2
Регистрация: 09.11.2010
Сообщений: 130
03.05.2011, 03:47  [ТС] #3
Gepar, В принципе я понял, что Вы хотели сказать, но у меня массив действительных чисел.
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
03.05.2011, 07:16 #4
Цитата Сообщение от Spotter Посмотреть сообщение
Gepar, В принципе я понял, что Вы хотели сказать, но у меня массив действительных чисел.
А в задании сказано, что массив строк:

Цитата Сообщение от Spotter Посмотреть сообщение
Найти в массиве первую строку, все элементы которой упорядочены по убыванию. Изменить упорядоченность элементов этой строки на обратную. (Массив двумерный)
Ты уж определись, что ли.
0
Spotter
8 / 8 / 2
Регистрация: 09.11.2010
Сообщений: 130
03.05.2011, 16:00  [ТС] #5
Nameless One, Вот полностью всё задание, массив действительных чисел.

Разработать приложение, выполняющее следующие функции. Ввести с клавиатуры значения элементов двумерного массива действительных чисел. Найти в массиве первую строку, все элементы которой упорядочены по убыванию. Изменить упорядоченность элементов этой строки на обратную. Результат вывести на экран.

Добавлено через 33 минуты
UP\\\

Добавлено через 24 минуты
Если у меня например матрица такая:

1.5 2.6 0.7
1.4 2.5 7.8
9.9 7.8 6.5

Тут получается по убыванию идёт 3 строка, как вот правильно реализовать поиск этой строки?
У меня мысли такие, что допустим взять значение mas[0][0], и сравнивать с элементами массива, например есла mas[i][j]>mas[0][0], то следующий элемент больше предыдущего, но как я понимаю будет вестись сравнение только с первым элементом, а как чтобы все сравнивало, чтобы найти нужную строку?
0
asics
Freelance
Эксперт С++
2852 / 1787 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
03.05.2011, 16:17 #6
Цитата Сообщение от Spotter Посмотреть сообщение
Найти в массиве первую строку, все элементы которой упорядочены по убыванию. Изменить упорядоченность элементов этой строки на обратную. (Массив двумерный)
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
#include <iostream>
#include <algorithm>
#include <iterator>
 
bool is_sort(const double *a, const size_t sz){
  for(size_t i = 0; i < sz - 1; ++i)
    if(a[i] < a[i + 1])
      return false;
  return true;
}
 
int main(){
  const size_t sz = 3;
  double matr[sz][sz] = {
    1.5, 2.6, 0.7,
    1.4, 2.5, 7.8,
    9.9, 7.8, 6.5
  };
  bool flag = true;
  for(size_t i = 0; i < sz; ++i){
    if(is_sort(matr[i], sz) && flag){
      std::sort(matr[i], matr[i] + sz);
      flag = false;
    }
    std::copy(matr[i], matr[i] + sz, std::ostream_iterator<double>(std::cout, "  "));
    std::cout << '\n';
  }
  return 0;
}
1
Spotter
8 / 8 / 2
Регистрация: 09.11.2010
Сообщений: 130
03.05.2011, 16:29  [ТС] #7
asics, А как правильно преобразовать это под мой код, именно сам поиск строки, и изменение упорядочености нужной строки на обратную? Я что-то пробую по Вашему коду, но многого в С++ не понимаю, т.к. пока изучаю С.

Вот мой код:
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
#include <stdio.h>
#include <conio.h>
 
 
 
int main()
{
 
    double mas[80][80];
    int n, m, k, i, j;
 
    printf("Enter size array: ");
    scanf("%d%d", &n, &m);
    printf("Enter array:\n\n");
    for(i=0; i<n; i++) {
        for(j=0; j<m; j++)
        {
            scanf("%lf", &mas[i][j]);
        }
    }
 
    printf("Array before sorting\n\n");
    for(i=0; i<n; i++){
        for(j=0; j<m; j++)
        {
            printf("  %.1lf", mas[i][j]);
        }
        putchar('\n');
    }
}
0
asics
Freelance
Эксперт С++
2852 / 1787 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
03.05.2011, 16:40 #8
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
#include <stdio.h>
 
int is_sort(const float *a, const size_t sz){
  for(size_t i = 0; i < sz - 1; ++i)
    if(a[i] < a[i + 1])
      return 0;
  return 1;
}
 
void sort(float *a, const size_t sz){
  for(size_t i = 0; i < sz; ++i)
    for(size_t j = i; j < sz; ++j)
      if(a[i] > a[j]){
        float tmp = a[i];
        a[i] = a[j];
        a[j] = tmp;
      }
}
 
int main(){
  const size_t sz = 3;
  float matr[sz][sz] = {
    1.5, 2.6, 0.7,
    1.4, 2.5, 7.8,
    9.9, 7.8, 6.5
  };
  int flag = 1;
  for(size_t i = 0; i < sz; ++i){
    if(is_sort(matr[i], sz) && flag){
      sort(matr[i], sz);
      flag = 0;
    }
    for(size_t j = 0; j < sz; ++j)
      printf("%.1f  ", matr[i][j]);
    putchar('\n');
  }
  return 0;
}
1
03.05.2011, 16:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2011, 16:40
Привет! Вот еще темы с ответами:

дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка должна вводиться с клавиатуры. - C++
Будьте добры,помогите с решением задачи: дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка...

Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо и справа н - C++
Дана строка символов до точки. Составить программу, проверяющую, является ли данная строка палиндромом, т. е. читается ли она слева направо...

Даны строка S, символ C и строка S0. Необходимо после каждого вхождения символа C в строку S вставить строку S0 - C++
Есть код... string s, s0; char c; cout &lt;&lt; &quot;Введите строку s, s0 и символ c: &quot;; getline(cin, s); ...

Строка string и строка char - C++
Ребят помогиме. В общем задание такое дана строка типа string и строка char которая содержит символ к. В общем если в строке типа String ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.