singlepost

с++ дз << На главную или назад  

написать программу :в функции присвоить квадратной матрице типа charслуч значения от а до z. и напечатать матрицу. вовторой функции в одномерный массив записать значения главной и побочной диагоналей.в основной программе вызвать функции и ввести размер матрицы. вот что я написала, но что-то не работает.
#include <iostream>
#include <cstdlib>
using namespace std;

void fill(intm, char**mat){
int k=0;
int arMin=65,arMax=90;
srand(10);
for(int i=0;i<m;i++){
for(int j=0;j<m;j++)
mat[i][j]=int(rand()*(double)(arMax-arMin)/RAND_MAX+arMin);}
for(int i=0;i<m;i++)
for(int j=0;j<m;j++)
cout<<mat[i][j];
}
void fill2(int m,char**mat, char**mas){
int n;
n=m*2;
for(int i=0;i<m;i++){
for(int j=0;j<m;j++)
if(i=j&i=m-j+1) mas[i]=mat[i][j]}

for(int i=0;i<n;i++)
cout<<mas[i];}

int main(){
cout<<"wwedite x";
cin>>x;
int l;
int**A; A=new int*[x];
fill(x,A);
int**B; B=new int*[a];
fill2(l,A,B);
return 0;
}

53 ответов в теме “с++ дз”

  1. 17
    Валерий Волков ответил:

    В любом случае нужно учить МАТЧАСТЬ ;)

  2. 16
    Анна Орловская ответил:

    спасибо вам всем.=))) но этот урод не пришел на пересдачу………….надеюсь на коммиссии мне это поможет=)

  3. 15
    Алексей Шишагин ответил:

    нууу…йа бы так писнул рандомайзер

    <time.h>
    В main
    time_t t;
    srand(time(&t));
    m[i][j]=33+rand()%26;

    Но эт кто как хошет…
    ЗЫ : 33 и 26 не магические числа=)

  4. 14
    Валерий Волков ответил:

    Волшебные преобразования с генерацией случайных буков я не менял :) – это на вашей совести :)
    Также советую перед выходом уничтожать память под массивы…

  5. 13
    Валерий Волков ответил:

    #include <iostream.h>
    #include <stdlib.h>

    void fill(int m, char**mat)
    {
    int arMin=65,arMax=90;
    srand(10);
    for(int i=0;i<m;i++)
    for(int j=0;j<m;j++)
    mat[i][j]=int(rand()*(double)(arMax-arMin)/RAND_MAX+arMin);

    for(i=0;i<m;i++)
    for(j=0;j<m;j++)
    cout<<mat[i][j];
    }
    void fill2(int m,char**mat, char**mas){
    for(int i=0;i<m;i++)
    {
    mas[i][0]=mat[i][i];
    mas[i][1]=mat[i][m-i-1];
    }

    cout<<"-1-";
    for(i=0;i<m;i++)cout<<mas[i][0];
    cout<<"-2-";
    for(i=0;i<m;i++)cout<<mas[i][1];
    cout<<"-3-";
    }
    int main(){
    int x;
    cout<<"wwedite x";
    cin>>x;
    char**A; A=new char*[x*x];
    fill(x,A);
    char**B; B=new char*[x*2];
    fill2(x,A,B);
    return(0);
    }

  6. 12
    Taras Neporozhniy ответил:

    По поводу форматирования: //vkontakte.ru/photos.php?act=show&id=23363...

  7. 11
    Офыволдшощзй Фыошщфышщоаргк ответил:

    Контакт съедает форматирование :)

  8. 10
    Анна Орловская ответил:

    да помогите пожалуйста отладить типы эти все.не понимаю где что менять надо и не уверена что работает присвоение случайных значений.

  9. 9
    John Carmack ответил:

    to Сергей ShTiRLiC Шпикин
    А вы пробовали здесь программы постить?
    Любые отступы обрезаются.
    P.S. Вы случайно не ShTiRLiC с геймдев.ру? :)

  10. 8
    Анна Орловская ответил:

    мне просто нужно сдать это и все. программирование останется в страшном сне.и больше меня не коснется. а извините только месяц изучаю язык.

  11. 7
    Артём Шалхаков ответил:

    2 Анна Орловская
    пройдись пару раз в отладчике.
    все станет ясно.

    >void fill(int m, char**mat)
    >…
    >int**A; A=new int*[x];
    >fill(x,A);
    так матрица int'ов или char'ов? (можно сделать приведение типов, но это хак)

    по ходу, ты не совсем понимаешь, что написала =)

  12. 6
    Сергей Шпикин ответил:

    Если бы вы потрудились проставить отступы, вы бы заметили, что в строке "fill(x,A);}" скобка стоит не пришей блохе кирпич.

  13. 5
    Анна Орловская ответил:

    не работает еще рендомайз.пишет что-то там какое-то несоответсвие типов.не могли бы плиз подправить.завтра кр.=(

  14. 4
    Сергей Шпикин ответил:

    Форматирование ужасное. Отступов нет. Какие-то левые фигурные скобки где попало – понимания языка нет. n==m*2; вообще убило. Написала бы уж сразу вместо этой строки – false; Зачем усложнять? В общем, учите язык, сдавать контрольную путем копипасты с чужих творений, даже не понимая, что копипастится, это грех. За грехи карма накапливается, да. Страуструп не простит, а Керниган и Ричи так и вообще расчленят за такое.

  15. 3
    Анна Орловская ответил:

    почему это где поппало? есть баланс.

  16. 2
    Жека Кирпичев ответил:

    Что именно не работает?

  17. 1
    Degenerate Blooddrunk ответил:

    косяков много… особенно в синтаксисе

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.