Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Написать код. Массивы 
:(
    Опции темы
marysluva
Дата 29.12.2016, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.12.2016

Репутация: нет
Всего: нет



Из файла F1 прочитать матрицу A (10,20). Вычислить сумму элементов каждой строки,

записать в массив В (10) отсортировать элементы этого массива по росту. результат

записать в файл F2.
PM MAIL   Вверх
likehood
Дата 30.12.2016, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: нет
Всего: 24



Были ли попытки написать код, что в итоге получилось? На каком из этапов возникли проблемы?

Это сообщение отредактировал(а) likehood - 30.12.2016, 13:01
PM MAIL   Вверх
marysluva
Дата 30.12.2016, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.12.2016

Репутация: нет
Всего: нет



Цитата(likehood @ 30.12.2016,  13:00)
Были ли попытки написать код, что в итоге получилось? На каком из этапов возникли проблемы?

есть код с++, нужен на Си
PM MAIL   Вверх
likehood
Дата 30.12.2016, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: нет
Всего: 24



Цитата(marysluva @  30.12.2016,  14:30 Найти цитируемый пост)
есть код с++

Можно его увидеть?
PM MAIL   Вверх
marysluva
Дата 30.12.2016, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.12.2016

Репутация: нет
Всего: нет



Цитата(likehood @ 30.12.2016,  14:38)
Цитата(marysluva @  30.12.2016,  14:30 Найти цитируемый пост)
есть код с++

Можно его увидеть?

Код


#include <stdio.h>
#include <fstream>
int main()
{
    setlocale(LC_CTYPE, "ukr");
    int pole[10][20];
    ifstream fin("F1.txt");
    for(int i=0;i<10;i++)
    {
        for(int j=0;j<20;j++)
        {
            fin >> pole[i][j];
            cout<<pole[i][j]<<" ";
        }
        cout<<endl<<endl<<endl;
    }
    cout<<"Обчислюємо суму елементів кожного рядка, записуємо в масив B(10)";
    cout<<endl<<endl;
    int mabs[10];
    int sum = 0
    for(int m=0;m<10; m++)
    {
        for(int n=0; n<10; n++)
        {
        sum=+ pole[m][n];
    }
    masb[m] = sum;
    cout<<masb[m]<<" ";
    sum=0
}
cout<<endl<<endl;
cout<<"Сортуэмо елементи цього масиву в порядку зростання"<<endl<<endl;
for(int i = 0; i < 10; i ++)
{
    for(int j = 0; j < 10; j++)
    {
        if(masb[j] > masb[i])
        {
            int a = masb[i];
            masb[i] = masb[j];
            masb[j] = a;
        }
    }
}
for(int y=0; y<10; y++)
{
    cout<<masb[y]<<" ";
}
    cout<<endl<<endl;
    system("pause");
    return 0;
}

PM MAIL   Вверх
likehood
Дата 30.12.2016, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: нет
Всего: 24



Перевёл с С++ на Си, заодно исправил мелкие ошибки.
Код

#include <stdio.h>
#include <locale.h>
#include <stdlib.h>

int main()
{
    setlocale(LC_CTYPE, "ukr");
    int pole[10][20];
    FILE *fin = fopen("F1.txt", "rt");
    for(int i=0; i<10; i++)
    {
        for(int j=0; j<20; j++)
        {
            fscanf(fin, "%d", &pole[i][j]);
            printf("%d ", pole[i][j]);
        }
        printf("\n\n\n");
    }
    printf("Обчислюємо суму елементів кожного рядка, записуємо в масив B(10)");
    printf("\n\n");
    int masb[10];
    int sum = 0;
    for(int m=0; m<10; m++)
    {
        for(int n=0; n<10; n++)
        {
            sum=+ pole[m][n];
        }
        masb[m] = sum;
        printf("%d ", masb[m]);
        sum=0;
    }
    printf("\n\n");
    printf("Сортуэмо елементи цього масиву в порядку зростання\n\n");
    for(int i = 0; i < 10; i ++)
    {
        for(int j = 0; j < 10; j++)
        {
            if(masb[j] > masb[i])
            {
                int a = masb[i];
                masb[i] = masb[j];
                masb[j] = a;
            }
        }
    }
    for(int y=0; y<10; y++)
    {
        printf("%d ", masb[y]);
    }
    printf("\n\n");
    system("pause");
    return 0;
}

PM MAIL   Вверх
marysluva
Дата 30.12.2016, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.12.2016

Репутация: нет
Всего: нет



Цитата(likehood @ 30.12.2016,  15:26)
Перевёл с С++ на Си, заодно исправил мелкие ошибки.
Код

#include <stdio.h>
#include <locale.h>
#include <stdlib.h>

int main()
{
    setlocale(LC_CTYPE, "ukr");
    int pole[10][20];
    FILE *fin = fopen("F1.txt", "rt");
    for(int i=0; i<10; i++)
    {
        for(int j=0; j<20; j++)
        {
            fscanf(fin, "%d", &pole[i][j]);
            printf("%d ", pole[i][j]);
        }
        printf("\n\n\n");
    }
    printf("Обчислюємо суму елементів кожного рядка, записуємо в масив B(10)");
    printf("\n\n");
    int masb[10];
    int sum = 0;
    for(int m=0; m<10; m++)
    {
        for(int n=0; n<10; n++)
        {
            sum=+ pole[m][n];
        }
        masb[m] = sum;
        printf("%d ", masb[m]);
        sum=0;
    }
    printf("\n\n");
    printf("Сортуэмо елементи цього масиву в порядку зростання\n\n");
    for(int i = 0; i < 10; i ++)
    {
        for(int j = 0; j < 10; j++)
        {
            if(masb[j] > masb[i])
            {
                int a = masb[i];
                masb[i] = masb[j];
                masb[j] = a;
            }
        }
    }
    for(int y=0; y<10; y++)
    {
        printf("%d ", masb[y]);
    }
    printf("\n\n");
    system("pause");
    return 0;
}

как решить проблемы?

|9|error: 'for' loop initial declarations are only allowed in C99 mode|
|9|note: use option -std=c99 or -std=gnu99 to compile your code|
|11|error: 'for' loop initial declarations are only allowed in C99 mode|
|22|error: 'for' loop initial declarations are only allowed in C99 mode|
|24|error: 'for' loop initial declarations are only allowed in C99 mode|
|34|error: redefinition of 'i'|
|9|note: previous definition of 'i' was here|
|34|error: 'for' loop initial declarations are only allowed in C99 mode|
|36|error: 'for' loop initial declarations are only allowed in C99 mode|
|46|error: 'for' loop initial declarations are only allowed in C99 mode|


PM MAIL   Вверх
likehood
Дата 30.12.2016, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


666
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 21.12.2005

Репутация: нет
Всего: 24



Вроде понятно написано: объявлять переменные в цикл for можно только в режиме C99. Объявляй их вне цикла:
Код

#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
int main()
{
    setlocale(LC_CTYPE, "ukr");
    int pole[10][20];
    FILE *fin = fopen("F1.txt", "rt");
    int i, j, m, n, y;
    for(i=0; i<10; i++)
    {
        for(j=0; j<20; j++)
        {
            fscanf(fin, "%d", &pole[i][j]);
            printf("%d ", pole[i][j]);
        }
        printf("\n\n\n");
    }
    printf("Обчислюємо суму елементів кожного рядка, записуємо в масив B(10)");
    printf("\n\n");
    int masb[10];
    int sum = 0;
    for(m=0; m<10; m++)
    {
        for(n=0; n<10; n++)
        {
            sum=+ pole[m][n];
        }
        masb[m] = sum;
        printf("%d ", masb[m]);
        sum=0;
    }
    printf("\n\n");
    printf("Сортуэмо елементи цього масиву в порядку зростання\n\n");
    for(i = 0; i < 10; i ++)
    {
        for(j = 0; j < 10; j++)
        {
            if(masb[j] > masb[i])
            {
                int a = masb[i];
                masb[i] = masb[j];
                masb[j] = a;
            }
        }
    }
    for(y=0; y<10; y++)
    {
        printf("%d ", masb[y]);
    }
    printf("\n\n");
    system("pause");
    return 0;
}

PM MAIL   Вверх
marysluva
Дата 30.12.2016, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.12.2016

Репутация: нет
Всего: нет



Цитата(likehood @ 30.12.2016,  16:20)
Вроде понятно написано: объявлять переменные в цикл for можно только в режиме C99. Объявляй их вне цикла:
Код

#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
int main()
{
    setlocale(LC_CTYPE, "ukr");
    int pole[10][20];
    FILE *fin = fopen("F1.txt", "rt");
    int i, j, m, n, y;
    for(i=0; i<10; i++)
    {
        for(j=0; j<20; j++)
        {
            fscanf(fin, "%d", &pole[i][j]);
            printf("%d ", pole[i][j]);
        }
        printf("\n\n\n");
    }
    printf("Обчислюємо суму елементів кожного рядка, записуємо в масив B(10)");
    printf("\n\n");
    int masb[10];
    int sum = 0;
    for(m=0; m<10; m++)
    {
        for(n=0; n<10; n++)
        {
            sum=+ pole[m][n];
        }
        masb[m] = sum;
        printf("%d ", masb[m]);
        sum=0;
    }
    printf("\n\n");
    printf("Сортуэмо елементи цього масиву в порядку зростання\n\n");
    for(i = 0; i < 10; i ++)
    {
        for(j = 0; j < 10; j++)
        {
            if(masb[j] > masb[i])
            {
                int a = masb[i];
                masb[i] = masb[j];
                masb[j] = a;
            }
        }
    }
    for(y=0; y<10; y++)
    {
        printf("%d ", masb[y]);
    }
    printf("\n\n");
    system("pause");
    return 0;
}

Спасибо smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1621 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.