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

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

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

c++ пожалуйста помогите подправить код - C++

16.01.2009, 16:45. Просмотров 983. Ответов 10
Метки нет (Все метки)

Нужно переставить местами два указаных столбца(q,w).Написал этод код,а он переставляет только 1-3 и 2-3 столбцы и это при размере массива 3 на 4.При других размерах вобще молчит.Помогите кто сможет!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   int q,w,e,u,o,z;
   cout<<"vvod stolb"<<"\n";
    cin>>q;
    cin>>w;
    for(i=0;i<y;i++)
   {
   for(j=0;j<x;j++)
   {
       if(j=q) z=a[i][j],o=i,u=j;
        if(j=w) e=a[i][j],a[i][j]=z,a[o][u]=e;
        }         
   }
   for(i=0;i<y;i++)
    {
        for(j=0;j<x;j++)
        {
        cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<"\n";
        }
        }
    getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Фенрир
42 / 38 / 2
Регистрация: 05.01.2009
Сообщений: 394
16.01.2009, 16:50     c++ пожалуйста помогите подправить код #2
C++
1
2
3
4
5
6
for (int i=0; i<y; i++)
{ temp=mass[i][w];
   mass[i][w]=mass[i][q];
   ma[i][q]=temp;
 
}
demanxxx
0 / 0 / 0
Регистрация: 22.11.2008
Сообщений: 36
16.01.2009, 17:16  [ТС]     c++ пожалуйста помогите подправить код #3
Цитата Сообщение от Фенрир Посмотреть сообщение
C++
1
2
3
4
5
6
for (int i=0; i<y; i++)
{ temp=mass[i][w];
   mass[i][w]=mass[i][q];
   ma[i][q]=temp;
 
}
ничего не изменилось
Lord_Voodoo
Супер-модератор
8510 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,854
Завершенные тесты: 1
17.01.2009, 11:53     c++ пожалуйста помогите подправить код #4
если я правильно понял задание, то это выглядит так:
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
 
#include <iostream>
#include <conio.h>
#include <malloc.h>
using namespace std;
int main()
{
   int temp, n, m, i ,j, q, w;
   int** mas;
   cout<<"vvod kol-va stolb"<<"\n";
   cin >> n;
   cout<<"vvod kol-va strok"<<"\n";
   cin >> m;
   mas = (int**) malloc (n*sizeof(int*));
   for(i = 0; i < n; i++){
     mas[i] = (int*) malloc (m*sizeof(int));
     for(j = 0; j < m; j++) cin>>mas[i][j];
   }
   cout<<"vvod stolbzi"<<"\n";
   cin>>q>>w;
   q--; w--;
   if(q > n){
     cout << "Error"<<endl;
     return 1;
   }
   if(w > m){
     cout << "Error"<<endl;
     return 1;
   }
   for(j=0;j < n;j++){
     temp = mas[j][q];
     mas[j][q] = mas[j][w];
     mas[j][w] = temp;
   }
   for(i = 0;i < n;i++){
     for(j = 0;j < m;j++){
       cout<<mas[i][j]<<" ";
     }
     cout<<endl;
   }
  getch();
}
demanxxx
0 / 0 / 0
Регистрация: 22.11.2008
Сообщений: 36
17.01.2009, 21:23  [ТС]     c++ пожалуйста помогите подправить код #5
Цитата Сообщение от WooDooMan Посмотреть сообщение
если я правильно понял задание, то это выглядит так:
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
 
#include <iostream>
#include <conio.h>
#include <malloc.h>
using namespace std;
int main()
{
   int temp, n, m, i ,j, q, w;
   int** mas;
   cout<<"vvod kol-va stolb"<<"\n";
   cin >> n;
   cout<<"vvod kol-va strok"<<"\n";
   cin >> m;
   mas = (int**) malloc (n*sizeof(int*));
   for(i = 0; i < n; i++){
     mas[i] = (int*) malloc (m*sizeof(int));
     for(j = 0; j < m; j++) cin>>mas[i][j];
   }
   cout<<"vvod stolbzi"<<"\n";
   cin>>q>>w;
   q--; w--;
   if(q > n){
     cout << "Error"<<endl;
     return 1;
   }
   if(w > m){
     cout << "Error"<<endl;
     return 1;
   }
   for(j=0;j < n;j++){
     temp = mas[j][q];
     mas[j][q] = mas[j][w];
     mas[j][w] = temp;
   }
   for(i = 0;i < n;i++){
     for(j = 0;j < m;j++){
       cout<<mas[i][j]<<" ";
     }
     cout<<endl;
   }
  getch();
}
выдает E:\12.01.09\n2m\n2.cpp(49) : warning C4715: 'main' : not all control paths return a value
CheshireCat
Эксперт С++
2890 / 1239 / 78
Регистрация: 27.05.2008
Сообщений: 3,327
17.01.2009, 22:15     c++ пожалуйста помогите подправить код #6
return 0; в конце добавь - ругаться перестанет.
demanxxx
0 / 0 / 0
Регистрация: 22.11.2008
Сообщений: 36
17.01.2009, 22:31  [ТС]     c++ пожалуйста помогите подправить код #7
выдает Debug/n3.exe : fatal error LNK1169: one or more multiply defined symbols found
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
18.01.2009, 03:25     c++ пожалуйста помогите подправить код #8
Цитата Сообщение от demanxxx Посмотреть сообщение
выдает Debug/n3.exe : fatal error LNK1169: one or more multiply defined symbols found
может
Цитата Сообщение от CheshireCat Посмотреть сообщение
return 0;
надо так
C++
1
2
3
getch();   
return 0;
}
!?

Добавлено через 1 минуту 48 секунд
demanxxx думаю поймешь.
Yar
0 / 0 / 0
Регистрация: 18.01.2009
Сообщений: 6
18.01.2009, 05:48     c++ пожалуйста помогите подправить код #9
if(j=q) z=a[i][j],o=i,u=j;
if(j=w) e=a[i][j],a[i][j]=z,a[o][u]=e;

Первое, что бросается в глаза: операция сравнения == , а у тебя = . это присвоение.
Весь код не смотрел.
demanxxx
0 / 0 / 0
Регистрация: 22.11.2008
Сообщений: 36
18.01.2009, 09:18  [ТС]     c++ пожалуйста помогите подправить код #10
Цитата Сообщение от Yar Посмотреть сообщение
if(j=q) z=a[i][j],o=i,u=j;
if(j=w) e=a[i][j],a[i][j]=z,a[o][u]=e;

Первое, что бросается в глаза: операция сравнения == , а у тебя = . это присвоение.
Весь код не смотрел.


if(j==q) o=i,u=j ;
if(j==w) e=a[i][j],a[i][j]=a[o][u],a[o][u]=e;
так заработало
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2009, 10:08     c++ пожалуйста помогите подправить код
Еще ссылки по теме:

C++ пожалуйста, подправить код
C++ надо немного подправить, пожалуйста
Нужно подправить код C++
C++ Подправить код
Подправить код C++

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

Или воспользуйтесь поиском по форуму:
Lord_Voodoo
Супер-модератор
8510 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,854
Завершенные тесты: 1
18.01.2009, 10:08     c++ пожалуйста помогите подправить код #11
demanxxx, вообще надо писать по стандарту int main, а перед последней закрывающей скобкой return 0;, хотя твой компилятор тебе просто предупреждение написал, что у тебя мэйн не возвращает значения...
Yandex
Объявления
18.01.2009, 10:08     c++ пожалуйста помогите подправить код
Ответ Создать тему
Опции темы

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