الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

قراء أرقام من ملف نصي

بدأه GProgrammer في 5 يناير 2011 · 8 رد · 816 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أسعد الله أوقاتكم

أتمنى المساعدة العاجلة جداً جداً

لدي ملف نصي بهذا الشكل

11 66 77 99

22 33 44 55

أود قراءة الأعداد بهذا الشكل

11 و أخزنها في متغير

و 66 و أقوم بتخزينها في متغير

و هكذا ...

أتمنى المساعدة و الله يوفقكم دنيا و آخرة

#2
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
	char str[100];
	int a[10]={0};
	fstream file("c:\\text.txt",ios::in);

	int i=0;
	while(file.getline(str,100))
	{
		for(int j=0;j<strlen(str);j+=3)
		{
			a=atoi(&str[j]);
			i++;
		}
	}
	return 0;
}
1
#3
Ali Al-Zyoud كتب:

#include<iostream>
#include<fstream>
using namespace std;
int main()
{
	char str[100];
	int a[10]={0};
	fstream file("c:\\text.txt",ios::in);

	int i=0;
	while(file.getline(str,100))
	{
		for(int j=0;j<strlen(str);j+=3)
		{
			a=atoi(&str[j]);
			i++;
		}
	}
	return 0;
}

شكراً جزيلاً

a=atoi(&str[j]);

مامعنى الأمر atoi؟

عرفت مصفوفة من نوع char و أعطيها حجم 100 لماذا ؟

و الله يوفقك دنيا و آخره

تم تعديل هذه المشاركة بواسطة GProgrammer في 6 يناير 2011 في 17:01

#4

بسم الله الرحمن الرحيم

atoi هذه الفنكشن تحول من string الى النوع int

عرفت مصفوفة من نوع char و أعطيها حجم 100 لماذا ؟

كل مره اقراء من الملف النصي اخزن بهذه المصفوفه السطر الذي اقرائه وبستخدام ال فنكشن atoi احول النص الى ارقام

1
#5
Ali Al-Zyoud كتب:

بسم الله الرحمن الرحيم

atoi هذه الفنكشن تحول من string الى النوع int

عرفت مصفوفة من نوع char و أعطيها حجم 100 لماذا ؟

كل مره اقراء من الملف النصي اخزن بهذه المصفوفه السطر الذي اقرائه وبستخدام ال فنكشن atoi احول النص الى ارقام

لو كنت حاط الملف النصي بنفس الملف اللي فيه البرنامج يكون إمتداد الملف ( أسم الملف ) فقط بهذا الشكل

text.text

صح ؟؟؟ لأن البرنامج يطلع لي أخطاء

وما أعرف أيه المشكلة

ولو كان عندي أرقام فردية بهذا الشكل

10 12 3 5

10 11 7 8

9 12 6 9

6 7 0 1

هل أضع في خانة العشرات صفر حتى تكون القراءة صحيحة ؟؟

مع الشكر

#6
GProgrammer كتب:

لو كنت حاط الملف النصي بنفس الملف اللي فيه البرنامج يكون إمتداد الملف ( أسم الملف ) فقط بهذا الشكل

text.text

صح ؟؟؟ لأن البرنامج يطلع لي أخطاء

وما أعرف أيه المشكلة

ولو كان عندي أرقام فردية بهذا الشكل

10 12 3 5

10 11 7 8

9 12 6 9

6 7 0 1

هل أضع في خانة العشرات صفر حتى تكون القراءة صحيحة ؟؟

مع الشكر

نعم عليك ذلك

1
#7

لدي نفس المشكل، حيث أريد قراءة مصفوفة من ملف و ووضعها في مصفوفة كالآتي:

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

#define PATH 3

/*
 1 0 0
 1 0 1
 1 1 1 
 */

int main()
 {

  unsigned int a[PATH][PATH], b[PATH][PATH], r[PATH][PATH], i, j, num;	
  char ch;
  FILE *Fmat;

  Fmat = fopen("smat.txt","r");
  i = j = 0;
  if(Fmat == NULL)
   {
    printf("error \n");
    exit(1);
   }
  while(!feof(Fmat))
   {
    ch = getc(Fmat);
    num = atoi(&ch);
    if(&ch != "\n")
     i++;
    else
     {
	  i = 0;
	  ++j;
	 }  
	if(&ch != " ") 
	 a[j] = num;
   }

printf("The Matrix readed is :\n");
    for(i=0;i<PATH;i++)
      {
       for(j=0;j<PATH;j++)
         {
           printf ("%d", a[j]);
            printf("\t");
         }
          printf("\n");
      }

 return 0;
}

لكني أعاني من مشكلة mentation fault.

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#8

قم بتغير ال while loop لتصبح كذلك:

while(!feof(Fmat))
   {
    ch = getc(Fmat);
    num = atoi(&ch);
    if(ch != '\n')
		i++;
    else
	{
        i = 0;
        ++j;
	}  
	if(ch != ' ') 
    a[j] = num;
   }
#9

قمت بإستخدام ASCII في التحويل:

while(!feof(Fmat))
   { 
    num = fgetc(Fmat);
    if(num == 10) 
     {
	  i = 0;
	  ++j;
     }
    else if((num == 49) || (num == 48))
     {
	  a[j] = num - 48;
      i++;
	 }  

   }

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

مواضيع مشابهة