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

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

Войти
Регистрация
Восстановить пароль
 
Maxachev
0 / 0 / 0
Регистрация: 23.01.2014
Сообщений: 11
#1

Замена первой строки на последнюю - C++

04.02.2014, 16:50. Просмотров 253. Ответов 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
#include "stdafx.h"
#include <iostream>
#include <time.h> 
using namespace std;
int main()
{
    int j, k, N, M, a, b;
    srand(time(NULL));
    cout << "(N x M), N="; cin >> N; // Вводим размерность
    cout << "(N x M), M="; cin >> M;
    int* t, *m = new int[N*M*sizeof(int)];
    int** p = new int*[N*sizeof(int)];
    for (j = 0; j - N; p[j++] = &m[j*M]);
    for (j = 0; j - N*M; m[j++] = rand()); // заполнение массива рандомом
    for (j = 0; j - N; j++, cout << endl) for (k = 0, cout << j << ")\t"; k - M; k++) cout << p[j][k] << '\t';
    for (;;)
 
{
        cout << "a & b = [0.." << N - 1 << "], exit if a == b" << endl;
        cout << "a <-> b, a="; cin >> a; // это и
        cout << "a <-> b, b="; cin >> b; // это уберу)
        if (a == b) break;
        if (a >= 0 && b >= 0 && a < N && b < N) // надо ?
        {
            t = p[b], p[b] = p[a], p[a] = t; // по идее нужно поменять это,или нет?
            for (j = 0; j - N; j++, cout << endl) for (k = 0, cout << j << ")\t"; k - M; k++) cout << p[j][k] << '\t';
        }
    }
    delete[] m, p;
    system("pause");
}
Я знаю, все работает...
Но вот мне нужно переделать, чтобы первая строка менялась с последней( размерность матрицы с клавы)
Напишите какие строки исправить) И спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 16:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Замена первой строки на последнюю (C++):

Замена первой группы одинаковых элементов на последнюю группу одинаковых элементов - C++
Всем привет, помогите с заменой первой группы одинаковых элементов в нашем случае пять единиц на последнюю группу одинаковых элементов,...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содер-жится в ней - C++
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции, с которой вторая строка содержится в первой. - C++
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции, с которой вторая строка содержится в первой. ...

В матрице переместить последнюю строку на место первой - C++
Помогите решить, пожалуйста. а) в данной матрице переместить последнюю строку на место первой, а все другие опустить на один. б) дано...

Проверить, является ли остаток от деления первой цифры числа на последнюю четным - C++
Суть такова, ввести число, и проверить является ли остаток от деления первой цифры на последнюю четным Вывести 1 и последнюю у меня...

Строки: уничтожить в строке запятые перед первой точкой, заменить знаком + все цифры 3я после первой точки - C++
Дано строка длиной n символов, среди которых есть хотя бы одна точка. превратить последовательность s1, s2, ... sn, уничтожив в ней все...

3
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
04.02.2014, 16:59 #2
Цитата Сообщение от Maxachev Посмотреть сообщение
Напишите какие строки исправить) И спасибо)
не знаю как другие, но я лучше бы написал все заново, а не разбирал это
1
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
04.02.2014, 17:05 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <ctime>
using namespace std;
 
int main()
{
    srand(time(0));
    int SIZE = 5;
    int ** arr = new int * [SIZE];
    for (int i = 0; i < SIZE; ++i)
        arr[i] = new int[SIZE];
    for (int i = 0; i < SIZE; ++i)
        for (int j = 0; j < SIZE; ++j)
            arr[i][j] = 10 - rand() % 20;
    int * tmp = arr[0];
    arr[0] = arr[SIZE - 1];
    arr[SIZE - 1] = tmp;
}
Добавлено через 1 минуту
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
не знаю как другие, но я лучше бы написал все заново, а не разбирал это
согласен, невозможно читать эти иероглифы
1
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
04.02.2014, 17:11 #4
vovacreme, вы может написали только кусок, но все равно не лишним было бы добавить очистку памяти.
0
04.02.2014, 17:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2014, 17:11
Привет! Вот еще темы с ответами:

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки - C++
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки. 1. Я дуб дубом,даже...

Строки. Удалить из строки S1 последнюю подстроку, совпадающую с S2 - C++
Помогите решить задачу Даны строки S1 и S2. Удалить из строки S1 последнюю подстроку, совпадающую с S2. Если совпадающих подстрок...

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

Замена отрицательных элементов первой строчки на 0 - C++
Дана целочисленная матрица размера 5х5. Заменить в данной матрице все отрицательные элементы первой строки на 0.


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

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

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