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

Определить минимальный элемент массива - C++

Восстановить пароль Регистрация
 
Rixon
0 / 0 / 0
Регистрация: 27.12.2009
Сообщений: 12
09.01.2010, 16:52     Определить минимальный элемент массива #1
В соответствии с вариантом задания написать, отладить и протестировать программы обработки числовых и символьных массивов. Заданные алгоритмы оформить в виде функций:

1) В числовом двумерном массиве заданного размера определить минимальный элемент массива и с помощью перестановок строк и столбцов поместить его в правый нижний угол матрицы.

2) Сохранить текст в массиве и выполнить следующие алгоритмы: Найти в тексте слова, которые начинаются и заканчиваются одной и той же буквой.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2010, 16:52     Определить минимальный элемент массива
Посмотрите здесь:

C++ Найти минимальный элемент массива и определить его местоположение
C++ Определить минимальный элемент одномерного массива
Определить номер столбца массива, в котором расположен минимальный элемент четвертой строки массива C++
C++ Определить максимальный и минимальный элемент двумерного массива
Определить минимальный элемент массива со значениями в заданном интервале C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cristaloleg
 Аватар для cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
09.01.2010, 20:33     Определить минимальный элемент массива #2
Алгоритм 1-го:
Сначала ищем минимальный.
Смотрим в каком он столбике - если в последнем, то просто меняем строки местами пока не дойдём до последней, если не в последнем столбике то тут...придётся менять много чего...код будет позже..
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
09.01.2010, 20:48     Определить минимальный элемент массива #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вот первая
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
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
 
int main()
{
    int m;
    int n;
    cout << "matrix M x N\n";
    cout << "m="; cin >> m;
    cout << "n="; cin >> n;
    int M[m][n];
    srand(time(0));
    //Г§Г*ïîëГ*ГҐГ*ГЁГҐ Г¬Г*òðèöû ГЁ âûâîä ГҐВё Г*Г* ГЅГЄГ°Г*Г*
    for (int i=0;i<m;i++)
    {
        for (int j=0;j<n;j++)
        {
            M[i][j]=rand()%100;
            printf("%5d",M[i][j]);
        }
        cout << endl;
    }
    //îïðåäåëÿåì ñòðîêó ГЁ ñòîëáåö, ìèГ*ГЁГ¬Г*ëüГ*îãî ýëåìåГ*ГІГ*
    int mini,minj,min;
    for (int i=0;i<m;i++)
        for (int j=0;j<n;j++) if (min>M[i][j]){min=M[i][j]; mini=i;minj=j;}
    //äâèãГ*ГҐГ¬ ñòîëáåö ГўГЇГ°Г*ГўГ®
    for (int j=minj;j<n-1;j++)
        for (int i=0;i<m;i++)
        {
            int temp=M[i][j+1];
            M[i][j+1]=M[i][j];
            M[i][j]=temp;
        }
    //передвигаем строку вправо
    for (int i=mini;i<m-1;i++)
        for (int j=0;j<n;j++)
        {
            int temp=M[i+1][j];
            M[i+1][j]=M[i][j];
            M[i][j]=temp;
        }
    //âûâîä Г*Г* ГЅГЄГ°Г*Г*
    cout <<"minimum="<< min <<", new matrix:\n";
    for (int i=0;i<m;i++)
    {
        for (int j=0;j<n;j++)
        {
            printf("%5d",M[i][j]);
        }
        cout << endl;
    }
    getch();
    return 0;
}
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
09.01.2010, 21:01     Определить минимальный элемент массива #4
Aye Aye, А Вы уверены, что все правильно работает? У меня всегда показывает "0" и оставляет массив без изменений.
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
09.01.2010, 21:10     Определить минимальный элемент массива #5
Darky, еще раз проверил, все ок. среда DEV-C++ 4.9.9.2
Код
matrix M x N
m=10
n=3
   84   77   90
   59   59   68
   92   63   31
   74   56   32
    4   77   23
   32   67   64
   36   81   44
   57   68    2
   73   12   48
   40   54   34
minimum=2, new matrix:
   84   77   90
   59   59   68
   92   63   31
   74   56   32
    4   77   23
   32   67   64
   36   81   44
   73   12   48
   40   54   34
   57   68    2
лучше конечно в 26 строке дописать min=M[0][0];
Rixon
0 / 0 / 0
Регистрация: 27.12.2009
Сообщений: 12
09.01.2010, 22:47  [ТС]     Определить минимальный элемент массива #6
Спасибо вам!

Добавлено через 28 минут
А со второй поможете?
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
09.01.2010, 23:41     Определить минимальный элемент массива #7
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
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
int main()
{
    string s;
    char c;
    cin.get(c);
    while (c!='\n'){s+=c; cin.get(c);}
    
    int i=0;int j=0;
    while (i<s.length())
    {
          while(s[i]==' ' && s[i]!='\0')i++;
          char temp=s[i];
          j=0;
          string t;
          while ((s[i+j]!=' ') && (s[i+j]!='\0') && (i+j < s.length()))
          {
                t+=s[i+j];
                j++;
          }
          if (temp==t[j-1])cout << t << endl;
          i+=j;
    }
    getch();
}
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
09.01.2010, 23:58     Определить минимальный элемент массива #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Rixon Посмотреть сообщение
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
#include <iostream>
#include <sstream>
#include <algorithm>
#include <string>
#include <vector>
 
void print_if(const std::string& s)
{
    if(s[0] == s[s.length() - 1])
        std::cout << s << std::endl;
}
 
int main()
{
    std::string s, temp;
    std::cout << "Enter string: ";
    getline(std::cin, s);
 
    std::stringstream ss(s);
    std::vector<std::string> v;
    while(ss >> temp) {
        v.push_back(temp);
    }
    std::for_each(v.begin(), v.end(), print_if);
    std::cin.get();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2010, 00:50     Определить минимальный элемент массива
Еще ссылки по теме:

Определить минимальный элемент последовательности C++
Определить минимальный элемент массива среди положительных элементов C++
C++ Найти минимальный элемент массива (через указатели, запрещено обращаться к элементам массива по индексам)

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

Или воспользуйтесь поиском по форуму:
Rixon
0 / 0 / 0
Регистрация: 27.12.2009
Сообщений: 12
10.01.2010, 00:50  [ТС]     Определить минимальный элемент массива #9
Благодарю!
Yandex
Объявления
10.01.2010, 00:50     Определить минимальный элемент массива
Ответ Создать тему
Опции темы

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